Skip to main content

Full text of "SYNC Magazine"

See other formats


50 (UK) 


$2.95 [USA] 
£1. 


2, Number 6 


Volume 


November/December 1982 


sdf 


Eni 


se 


HNIQUES: 


TEC 


ANGUAGE 


Term 


Tee 


- ROM-PAC APPLICATIONS HAS 
PROGRAMS ON PLUG-ON ROM 
CARTRIDGES FOR THE ZX-81 


*EDUCATIONAL PROGRAMS 
“APPLICATIONS 
“GAMES 


Call or Write For Your 
FREE 
Information Package Including: 
*Current list of products and prices 

*Operating instructions for all products 
*Sample applications 
* Adds you to our mailing list to receive new product news | 
*Updates on using the Sinclair with and without our products 


CALL 404-921-4471 
OR WRITE 


ROM-PAC APPLICATIONS 
5921-A Alhambra 
Norcross, Georgia 30093 


Due to possible trademark infringement Sinclair Applications is now operating under the name of Rom-Pac Applications. 
Neither Sinclair Applications nor Rom-Pac Applications has or have had any connections with Sinclair Research Ltd. | 


Sd 


PLOT UNPLOT REM 
oa Wel 
SIN TAN 
NEW AVE DIM 
Kra Sree eet eee 


PART? ATEI? FEIER Fey at aT Sy a eTo Britta 
= Ge 
: RUN RAND RETURN = INPUT POKE 4 
Se. Wee nie = 
m fo Be | 


TRS 


FOR GOTO GOSUB 
SGN ARS S 


ss We'llkeep 
— your Sinclair summing! 


PRINT 


ase 


ENTER 


ARCSIN ARCCOS ARCTAN GN S OR VAL LEN USR 
COPY CLEAR CONT CLS SCROLL NEXT PAUSE BALAI 
= 7 ; € 
= z cae 5 | mM) OoOo SPACE 
EN EXP AT IN KEYS NOT m 


OUR $14.95 SINCLAIR AND TIMEX OWNER-PROTECTION SERVICE PLAN 


Timex too! 

Typical repair charges for a 
Sinclair ZX81 can run from $25 or 
$50 up to the replacement cost of 
the unit. So why take chances? 
MicroSync will guarantee unlimited 
service for one year, parts included, 


at one low price. With return postage 


and handling paid. Plus our VIP 
treatment for fast turnaround. 

MicroSync’s experienced 
technicians are ready to service 
your ZX81 or Timex/Sinclair 1000 
with factory replacement parts. We'll 
return it promptly, and we'll quality- 
check your unit before it leaves our 
service center. 


We made over 10,000 
Sinclairs tick last year. 

Sinclair equipment has a great 
reputation for reliability. But almost 
all computer equipment requires 
service at one time or another. 
We've been repairing Sinclairs ever 
since their first glitch. 


WILL SAVE YOU MONEY. 


MicroSync is THE Sinclair 
authorized Service Center. 

Your Sinclair computer is a 
remarkable assembly of electronic 
components, some unique to 
Sinclair technology. Our Sinclair 
personnel have been trained on, and 
service only Sinclairs. 


The fine print. MicroSync’s Maintenance Agreement covers all parts and service for 12 months 
after the expiration of original warranty. For units over 90 days old, coverage is for 12 months 
from the date of the Maintenance Agreement. Kits or modified units may require a surcharge. 
MicroSync may not repair units damaged by abuse or negligence. Liability extends to repair or 


replacement only. 


'artart soir lentientonienlontententan 


i 162 Marlboro St j 
Keene NH 03431 
i Please send Maintenance Agreements for i 
ł the equipment listed below: $ 
f ZX81 or Timex/Sinclair 1000 i 
Less than 90 days old 
: (include proof of purchase) ........ $14.95 ea. i 
Over 90 days Old = o ee $34.95 ea. 
| 16K RAM Į 
l Less than 90 days old - 
(include proof of purchase) ........ $12.95 ea. 
Over 90. days old. i ee. $29.95 ea. l 
f Total Enclosed.......... U.S. $ i 
F Serial nos. i 
i C] check O w/c LJ VISA i 
i Card FR. l 
i Name y 
Address j 
City Site Zip 


We have the experience it takes. 
We have the parts on hand. 

So act now! If your unit is less 
than 90 days old you can purchase 
our Owner-Protection Service Plan 
for only $14.95. 


=l 


Mail To: MicroSync 


La 


MicroSync 


AUTHORIZED SINCLAIR SERVICE 


BEHIND EVERY 


GOOD SINCLAIR 


If you own a Timex-Sinclair 1000 or 
ZX81 computer, you should have a 
Memopak behind it. From increased 
memory to high resolution graphics, 
Memotech has a Memopak to boost your 
system’s capabilities. Every Memopak 
peripheral comes in a black anodised 
aluminum case and is designed to fit 
together in “piggy back” fashion to enable 
you to continue to add on and still keep an 
integrated system look. 


Printer ee foe RAM 


High Resolution Graphics 


Order at no risk 

All Memotech products carry our 10 
day money back guarantee. If you’re not 
completely satisfied, return it in ten days 
and we will give you a full refund. 
And every Memotech product comes with a 
six month warranty. Should anything be 
defective with your Memopak, return it to 
us and we will repair or replace it free of 
charge. Dealer inquiries welcome. To order 
any Memotech product call our toll-free 
number 800/662-0949 or use the order 
coupon. 


CORPORATIO 


7550 West Yale Avenue 
Denver, Colorado 80227 
(303) 986-1516 
TWX 910-420-2917 


IS A MEMOPAK 


iy Wa 
Mail to: Memotech Corporation, 7550 West Yale Ave., Denver, co 80227 
Code: SYCO-11-12 


lI | 
*Price Qty. Total 
| 64K RAM $179.95 | 
: 32K RAM 109.95 : 
| 16K RAM 59.95 | 
| Centronics Parallel Printer Interface 104.95 i 
| RS232 Printer Interface 139.95 l 
High Resolution Graphics 144.95 
| Shipping and handling 4.95 $4.95. | 
i 5 All prices quoted in U.S. dollars Tax** i 
' Colorado residents please add sales tax Total | 
i O Check [I MasterCard (J Visa | 
Account No. Exp. , 
| | 
Name i 
i Address i 
| City State Zip | 


Memopak 64K RAM The 64K RAM extends the 
memory of your Sinclair by 56K to a full 64K. It 
is directly addressable, user transparent, is 
neither switched nor paged and accepts such 
BASIC commands as 10 DIM A (9000). The 
Memopak 64K turns your Sinclair into a 
powerful computer suitable for business, 
recreational and educational use. No additional 
power supply is required. 


Memopak 32K RAM The 32K RAM Memopak 
offers your Sinclair a full 32K of directly 
addressable RAM. Like the 64K Memopak, it is 
neither switched nor paged and enables you to 
execute sophisticated programs and store large 
data bases. It is also fully compatible with 
Sinclair’s or Memotech’s 16K RAM to give you a 
full 48K of RAM. 


Memopak 16K RAM The Memopak 16K RAM 
provides an economical way to increase the 
capabilities of your Sinclair. And at the same 
time, it enables you to continue to add on other 
features with its “piggy back” connectors. It is 
compatible with the Sinclair 16K or a second 
Memopak 16K or Memopak 32K to give 32K or 
48K of RAM respectively. 


Memopak High Resolution Graphics The 
Memopak HRG contains a 2K EPROM monitor 
and is fully programmable for high resolution 
graphics. The HRG provides for up to 192 by 248 
pixel resolution. 


Memopak Printer Interface The Memopak 
Centronics Parallel or RS232 Interface 

paks enable your Sinclair to use a wide range of 
compatible printers (major manufacturers’ 
printers available through Memotech at 
significant savings). The resident software in the 
units gives the ASCII set of characters. Both 
Memopak printer interfaces provide lower case 
character capabilities. The RS232 Interface is 
also compatible with modems. 


New products coming soon Memotech will 
soon be introducing four new Sinclair 
compatible products: a high quality, direct 
connection keyboard, a digitizing tablet, a 16K 
EPROM and a disk drive. Watch for our future 
advertisements. 


The Magazine for Sinclair users and Timex/Sinclair users 


i — E | 


November/December 1982 


DEPARTMENTS 
EOS ee ers ek EE E ee ee eas 
STING NODE SS ees Seater Pe ee e, 
13 Glitchoidz Report............................ Grosjean 
Be PI SLi rs a he ha ia te BS Ho, Laska, Jury 
19 JustforFun................. Hampson, Hollandsworth, 
Maloff, Passler 
Deas ROO 8 ot A ae a aan ane ee AN 
120 Index to Advertisers....................... 0.00. c eee. 
SYNC AT THE DRAWING BOARD 
25 Turtle Graphics.............................. Woodson 
A popular graphics technique 
29 Curve Plotting Graphics......................... Booth 
Producing graphics by formulas 
39 Meditations on a Hypotrochoid................. Rogers 


Drawing pictures by formulas 


41 A Machine Code Graphics 
Line-Drawing Subroutine....................... Kopyc 


Add line-drawing to your programs 


48 Flicker-Free Four Times Normal 


Character Scrolling...................2.. Van Workum 
A 4K ROM machine code routine for 4x4 letters 
65 Large Letters for the 8K, 2K Machine........... Carroll 


An 8K ROM machine code routine for 4x4 letters 
PROGRAMMING TECHNIQUES 


62 Line Print Utility..............000000000000.... Albrecht 
First steps to word processing 
Ta WORE Oks. hs ee ee e Bonner 


Translating a 4K ROM program to the 8K ROM 


Staff 

Manaan EANO oo ase es aoe ee ee ee Paul Grosjean 
Ponte ator ot oe Se ea David Ornstein 
ORK COrrespondent o- ara eran e i eee L Martin Wren-Hilton 
A A DITCOTOr sre E AE Ss T eh A ana Patrick Calkins 
Assistant Art Director...........................Diana Negri Rudio 
PUDE SE ETS Gee A a G A E e en ee Karen K. Brown 
Renea Cole 

Operations Manager e a eo es ed William L. Baumann 
Personneiand Finance: ie ee ks et Patricia Kennelly 
EOFHOCRCE E te er ee Oe yee ER Frances Miskovich 
Carol Vita 

PAVETUSING Sales Manager ow ee vl Pee Karen Musmeci 


MEMBER 


November/December 1982 


Volume 2, Number 6 


80 Renumbering Basic Statements................ Wolach 
Line numbers, GOTOs, and GOSUBs 
HARDWARE 
87 Your Timex/Sinclair Can Become 
a Remote Terminal.......................2 ee eee Rice 


Building the interfacing board 


MACHINE LANGUAGE 


102 Block Transfers: Variables Transfer..............Scher 
Machine language programming techniques, part 2 
GAMES AND PROGRAMS 
98 Building HeatLoad......................... Reinhardt 
Calculating options for energy conservation 
100 Random Walks..........................002. Chandler 
The graphics of random distribution 
114 A Keyboard Learning Game...................Charles 
Master your keyboard and have fun 
REVIEWS 
36 The Zedex Microfair............................ Beloff 
Report on the 4th ZX microfair 
110 You Can Review Products SYNC................... Ahl 
Do you want to be a reviewer? 
TO RS a a Gs Pe a Ee AA Grosjean 
Game review 
109 Gea Wares... so. E a EAA Grosjean 
Game review 
ETET Pe SS IEE nee Oe Schiller 


Software review 


112 The Quicksilva Programmable 
Character Generator...................... Wren-Hilton 
Hardware review 


Volume 2, Number 6 


SYNC (USPS: 585-490; ISSN: 0279-5701) is published bi-monthly by 
Ahl Computing, Inc., a subsidiary of Ziff-Davis Publishing Company. 
David Ahl, President; Elizabeth B. Staples, Vice-President; Selwyn 
Taubman, Treasurer; Bertram A. Abrams, Secretary. 39 E. Hanover 
Ave., Morris Plains, NJ 07950. Second class postage paid at New York, 
NY 10001 and at additional mailing offices. 

Subscription rates: USA: One year (6 issues), $16; two years (12 issues), 
$30; three years (18 issues), $42. Canada: $3 per year additional. Other 
foreign: $5 per year additional. 

For SYNC advertising information, contact Karen Musmeci, SYNC 
Advertising Sales Manager, Ziff-Davis Publishing Company, One Park 
Ave., New York, NY 10016 (phone: 212/725-4216). 

All other correspondence should be addressed to: SYNC, 39 E. Hanover 
Ave., Morris Plains, NJ 07950. In U.K., SYNC, 27 Andrew Close, Stoke 
Golding, Nuneaton CV13 6EL. 

Postmaster: Send address changes to SYNC, PO Box 789-M, Morristown, 
NJ 07960. 


Cover illustration by Frank Cerulli 


(0>) 


cle ee ee 


Comet 


Dear Editor: 
Chuck Dawson’s Comet Crusher in 


SYNC 2:4 


have more than 1K RAM, you can add 


1 REM “COMET CRUSHER" TO SAVE 215 LET HITS=HITS+2 
coro S500 220 FOR N=1 TO 75 
Crusher 3 23@ NEXT N 
243 G 


was interesting, but, if you 


OTO Ss 

@@ FOR I=@ TO 6 

10 PRINT TARE 16; “Se 
NEXT I 


`; RETURN 
350 FOR I=1 TO & 
LET Y=INT (RND#31} +1 
378 IF Y=19 GR Y=28 THEN GOTO S$ 


to its visual l. Here is a listing of x8 390 IF x23 THEN GOITO 360 

o its visual appeal. Here is a listing o ar E Gomes Ta EE OT NEN S 

the program which illustrates some of TF: i A-F a eae 410 NEXT I 
; ; peice 26 IF SHOT=3@ THEN PRINT AT S, 420 RETURN 

the visual effects possible (Listing 1). ee a Aa | 500 SAVE “COMET CRUSHES" 

2@°;TAB 1; 519 RUN 

Using =; (HITS SHO F ; ; “PER $ 
PEEK 16396 +256*PEEK ; oo Ir SHOT=19 THEN STOP | oo... | 
16397-16509 B“STAB 19: “WE O 0O > £ ‘ 

I came up with 1531 bytes, including 4O -RRINT AT 20,1; “PRESS MEW IS Line notes: 

. . . -t KORRA EEE . 

line 9 and the subroutine at 350. With-  ssmasmuanananannn aiaa + General note: underlined words mean a 


out these I get 1344 bytes. 
I love my ZX81 with the 16K RAM a a 


and never 


power. SYNC has really opened my eyes 
on that score. But; being a novice, I 
would like to see some very basic articles 
on machine code with the ZX81 in 


mind. 


cease to be amazed at its 


6@ PLOT 
7@ UNPLOT 


TOX Y use the graphics mode to get the inverse 
5 letters. 
A=@ THEN 


a 7: inverse space (32); provides black 
“F“ THEN LET A 


e cai Then aL TL > backdrop. l 
= P 9: May be omitted if short of memory. 


ha 


tHt=H- 2 . 
SAT H, 29; eP 26: Puts scoreboard on screen. 


"TBE. ete 2S; g ; 
SMP; TAB 19; “Ms TAB 19 30: Graphics on E and 5. 


„150 IF Xs40 AND Hi4 AND H>@ THE 50: Graphics on S (32). 
Keep up the good work. 160 IF H=@_THEN GOTO S 110: inverse space (17). 


George T. Milonas, Lt. Col, USAF ł8@ Goro & 
(Ret.) 
8130-H Bridgeport Way, SW 26 


Tacoma, WA 98499 


170 IF 


@ PRI 


H=17 THEN GOTO 5@ 
140: Graphics on E and 5; inverse as- 


a 
2830 PRINT AT 3,37; ` “; TRB 17 ‘ 

; REI: TaS 16; a terisk and space. 
20 MoE HAA AF 89,18; 


UB 300 a 3: j 200: Graphics on QEBE; EQ.R; 
.3; LEOMET PRRTIG . . y 
ED“ .WZ # E; provide debris after hit. 


Bob Berch’s 


Integer BASIC COMPILER ———— 


—increase your speed 20 plus times! 
—amazing 3K program includes all run 


time routines 


commands/functions 
DIM RAND -256 variables (two letter) 
FOR/NEXT CLS 
LET COPY -26 single DIM arrays | 
IF/THEN SCROLL š 
GOTO AND, OR sorry, no strings except | 
GOSUB/RETURN NOT in PRINT — 
PRINT ABS 
LPRINT SGN -two versions 
PLOT/UNPLOT USR 16K w/code in 29-32K 
POKE RND 64K w/code in 13-16K 
STOP PEEK 
FAST INKEY$ 
SLOW MOD(* *) 
PAUSE AT & TAB 
, Now 
; $22.00 ppd available in 
both versions for (cassette) the United States, ‘hes 
NY sige Britains’ best-selling ZX81 workstation isa 
a 0 


Bob Berch 
19 Jaques St. 
Rochester, NY 14620 


stylish yet practical plinth which will angle your TV to 
reduce eyestrain, conceal the leads and power supply, 
and if you have the 16K RAM it will hold it steady to 
reduce crashes. Moulded in tough black ABS complete 
witha ready-wired on/off switch. Looks really great! 


Please order from our U.S. Agent-Jim Griner P.O. Box 1 Princeville, ILL 61559. 
Manufactured By Peter Furlong, Products Unit 5, South Coast Road Industrial Estate. 
Peace Haven, Sussex, England Tel: (07914) 81637 


SYNC Magazine 


FIRST 
TALK TO 
| MINDWARE. 


lf you're writing software for the Timex-Sinclair personal computer, you ought to 
talk first to the software publishing company that will do the most for you and your 
program. Here's six good reasons why good programmers come to us first: 


1. MASS MARKETING CAPABILITIES. 
The Timex-Sinclair computer market is no 
longer a mail-order, hobbyist business. We have the marketing resources to put 
your titles in more than 25,000 retail outlets, including chain stores, mass 


merchandisers, audio centers and PX’s. 
2. VERTICAL MARKETING CAPABILITIES. 

At the same time, we also sell actively to the kind of specialized 
audiences who can't be reached through mass market outlets. If you've written the 
definitive program for machine shop estimators, we know where to sell it. 
3. BETTER ROYALTY TERMS. 

Since we expect to buy the best in Timex-Sinclair 
software, we expect to pay the best in royalties. And we pay promptly and 
frequently —a policy that, sadly enough, many other publishers 

seem to feel is unnecessary. 
4. “QUICKLOADING’’. 
Every title we sell now incorporates our 
unique ‘‘Quickload”’ algorithm. ‘‘Quickload’’ enables your program to load 
at a rate six times faster than other Timex-Sinclair software. That kind of 
Special feature means bigger sales—and bigger royalties. 
5. PROFESSIONAL PACKAGING AND PROMOTION. 
We take our titles seriously. We're willing to 
invest in good graphics, good documentation, good advertising. You'll be proud 
to show off your work, because we are too. 
6. WE’RE NICE TO DEAL WITH. 
Mindware isn't a big, impersonal corporation with layers of bureaucrats 
to penetrate. We know our leadership in software depends on finding the 
very best authors—and keeping them. So we try to respond quickly 
and honestly, and treat you with respect. 


We can't promise to publish every program you submit. But if you've got a title 
you feel is a real winner, our advice is simple: 


©® MINDWARE 


15 Tech Circle Natick, Mass. USA 617-655-3388 


220: For a pause without jerkiness of 
PAUSE. 

300: Erases comet and rocket. 

310: 5 inverse spaces. 

350-420: See line 9; may be omitted if 
short on memory; provides a few stars in 
the sky. 

370, 390: Keep clear path for comet 
and rocket. 

400: Inverse +. 


DEF 


Dear Editor: 

Jon Passler’s article on DEF (SYNC 
2:4) is very helpful, but the action can be 
speeded up a bit by adding as follows: 


1K RAM: 
102 PRINT AT 0,0;A$ 
105 FAST 
16K RAM: 
175 FAST 
200 delete 
300 delete 
325 SLOW 
For some reason my machine pro- 
duced an “INTEGER OUT OF 
RANGE” code for line 160 in the 16K 
program—so I substituted. 
David M. Hoke 
Apt. D4, Eastampton Gardens 
Mt. Holly, NJ 08060 


Draw It 


Dear Editor: 


In the Draw It program in SYNC 2:4 
lines 60, 70, 80, and 90 can be deleted 
and the following lines put in: 
60 LET X=X+(INKEY$=“‘8”)- 
(INKEY$=*"5”’) 
70 LET Y=Y+(INKEY$=“7”)- 
(INKEY$=‘“‘6’’) 

Robert Jorgenson 

3814 Coleman Ave. 

San Diego, CA 92154 


Strong KBD Signals 


Dear Editor: 

I would like to publicly thank Herb 
Hornung (Double H Electronics, 195 
Lelani, San Antonio, TX 78242) for his 
hardware tip concerning strong signals 
from KBD 0-4 (SYNC 2:4). I had been 
having keyboard troubles with the kit 
from the time I put it together. This was 
one of the reasons I purchased a key- 
board from Herb. At that time he made 
some recommendations which helped 
quite a bit. Examination showed that a 
very strong signal from KBD 0 would 
often “crash” the system when a key in 
that circuit was used. Herb’s article, per- 
sonal correspondence, and the substitu- 


tion of 6.8k ohm resistors for the 
Sinclair resistor pack straightened out 
all the problem I was having. I highly 
recommend the Double H keyboard for 
those who have trouble getting their fin- 
gers around the membrane keyboard. 
Lawrence A. Kelly 

28 Countrywood Dr. 

Morris Plains, NJ 07950 


List Learning 
Dear Editor: 

I am writing to express my thanks to 
James John Hollandsworth for “List 
Learning with the ZX81” (SYNC 2:5). 
The program ran beautifully and my 
eight year-old enjoyed it. He has already 
started to learn the states and their cap- 
itals, and he gets to use Dad’s computer 
to boot! 

There were some parts of the program 
that I changed slightly to make it run 
smoother. When the program that I 
changed slightly to make it run 


LIMITLESS EXPANSION FOR SINCLAIR/TIMEX 
FLOPPY DISC INTERFACE $179 +1-4 DRIVES, ANY SIZE x SINGLE/ DOUBLE 


DENSITY * INDUSTRY STANDARD IBM FORMAT *¥*ON BOARD DOS IN ROM x 


RIBBON CABLE CONNECTIONS FOR MAXIMUM RELIABILITY 


1000 TIMES FASTER THAN CASSETTE 


0.29 DOUBLE DENSITY FLOPPY DISC DRIVES $189 ea. 


y% 
* 


POWER AND CABLES FOR 2 DRIVES $69 FOR 4 DRIVES $79 
STD BUS INTERFACE $99 COMPLETE WITH RIBBON CABLE 


CHOOSE FROM 300 PERIPHERAL INTERFACES, 60 MANUFACTURERS 


CENTRONICS PRINTER INTERFACE $119 comPLETE wiTH 


PRINTER CABLE, SOFTWARE IN ROM 
DIRECT VIDEO MODIFICATION $25 we instatt $15 You INSTALL 
WORD AEDC SOFTWARE PACKAGE $15 MACHINE LANGUAGE 


BOX 


x 


18093 AUSTIN 


TX 78760-8093 


(512) 


385-7405 


November/December 1982 


Foam org: aered “O-wiysenbay) 


See SAIA b s 
uo1L'y'a OF afqeked 'O`'W1I/SƏN9ƏYI O GNV IONS "HIOHON BLS (DaIeASN|II se) soaUUOD uoqqu a/qIxaj4_ (A) 
~ ‘HLNOWUVA LVW3AUD 3 : Sesh aia 
: ssauppy z aE puegs2}sew J OS°TLS$ UOISI9A ƏINƏSSED 
) - ` aWweN PAY DUY: uo3sə/ 109 E6ZL$ woy ssiydes6 uM 
i SEAR AIR As Meg! SE aso pula | ddI: 0$ UO PPE askard g ‘DEO XISSNS £Z l ð SIIY yl! 
$ sums way, (208428d pus 180d 10) 68 UO ppe oseard) ƏSN JOJ UOISIBA WOJd “3 bulbBnq-ap pue Buidnsjsuod 
NT EER Tor ey ae. Ne a ino ulonb ‘y3ƏM g SAe s 
i OANE DENY $ PC ot PUSS ask Pld 4 sinoy YZ alqeyene “20insas Buamsue no 10} 864209 cer rb (10) u JAWWEIBOI 343 pre O7 SINN JO INJ IF 1O01 Ab (9) 
$ ) QW pues ƏSLəƏjd pugu ‘yynowie g 42919 QuOYydaja} 10 ‘Aepo} uodnoo Əy} 440o. puas 0668$ uoisuedxg ÁJOWƏWN WH9 (g) 


06'SE$ pasə) pue pajqwasse Ajjn4 
Asowaywy UO ppy arisse~yW wey J91 (v) 


SHUN WOUs MIN 


1685 ZNUMLAIOS WOU SDIHAVUD NOL | Settee Z ped suownu yam possun 


Y3JON3III0 * 4GJAdlLN3D ¥* SYSGVANI JDWdS * saIOŅJJLSWY ¥ S 
poke ch L8$ ped sJu0wINU YWM pases Ayjn4 


WNaLIAds 


$ APAA A $ ® WUT o ALAA Y tal ater 'p Qw puas asea|d h : 
ce o eee SHUO i 
ae eres SO Sw puas aseatd I 4 g 


Huvapio uəym dud pue Ánuenb 
"azis AIOWIW WOY UdIUM 'auiypew JO adA} ILIS ƏLƏAd 


L6'ES$ 'SJƏS JƏPeLeIeyəd 


won UMO INOA 37231 UBD NOA OS 
L8XZ JHL NO 31gISSOd MON SOIHdVHD IHL JO IWOS SPISI SEDO Jest At Das SLE? 
pue WYa/AZ/NL e YM pans aq ued 

JIPIOY SIUL WVA/WOY JO Jp 194UN}J e 
1dadde jjım UdIUM pıeoq əy} uo JapjOY 
aieds e sey osje i ‘319y} SIU JOU SBOP 
JINDOW əy? JAAIMOH (WO Meu ou) 
jo adods ay) 0} se Rap! ue noA anib Aew 
Jey?) Ya! OOb INO|e IIS Ge JIU) ‘WIU) 
JO OG INoge 10} sJUNODDe Ajuo Jey) 

pue saiydeib siapeAul JO 9S IJd 

e SHUR} ‘SJAYDOI ‘SIANG ‘SQWO ‘SIINI A 
ƏSLI JMO} BE WOY 4? UJ 'sSƏuIyDLew KC 
3AIsuadxa aiOW Jabse; UO punoj AjaueJ \ U 
Jas WUdesB e YUM ‘ayNdwWod Nnpyəmod YS 
ÅA e OU! [8 34} SUIN] MOU SIU] 

"ZOL ASJAAU! JIU] YIM pue sr1ydesb 

Z 15 aAeU MOU NOA Jey} SURI 

SIU, “$9 AJUO SUleJUOD Jas DIUdesIH 
jewou INOA ‘soiydeib pawwesboid 
-31d eNXƏ Spy BIGeAgijaqun 

ue noA aaib IM SIUL WOX 

s1yudesib yp e YUM ajajdwWod pue pasa} 
ÁIN} ‘ying Apeas SawOd ajNDOW ay 
‘pieogAay au] JaPUN 1aINdWOdD INOA 


ca apisul Ajeau Si SƏHOSSƏDDE 19YIO ISOW 
@ ayuN ‘ajnpow siy} ‘AuOssadze | 8XZ 
D }sa}e| INO SI aINDOW JIUdeID JA 24L 


suempuet 18/OS X 


Buyapjosousasnbay = ‘ap|Su| 34j 03 Ajddns səmod əy? pue 
(winsj2ads 10 1g) Ja3NdWO? əy? y70q 104 ynouə a6se] Sı ase> JUL 


duvogaczI3 XZ 


SIIUOUL WD 


WNALAdS 


Z 


smoother. When the program ws put 
into ‘““Review“ mode, the screen had an 
annoying blink that was rather distract- 
ing. The reason for the blinks was the 
PAUSE statements used. 
The solution was to replace them with 

FOR/NEXT loops as follows: 

210 (change the zeros to 1’s) 

217 IF 2<4 or“ Z> 9 THEN 
GOTO 215 

235 FOR R=1 TO Z*10 

236 NEXT R 

237 POKE P, Q 
Use the line content of 235-237 to make 
three more loops: 
250-252, 280-282, 295-297. 


LET YOUR ZX81/TIMEX 


eme memes meme mmes como moe oomme sae osoan semne smene mune mase somme mone somno sons omes seene amuse Sees See souse soens cumte «esee smste stem somes soose ceume neues ater seoce memes sosoo enews coces senas 


PERSONAL AND PUSINESS PROGRAMS: 


Again, special thanks to James 
Hollandsworth for this very useful learn- 
ing tool. 

K.R. Peters 

14 Meade Ct., #2 

Fox Lake, IL 60020 

Ed.—The use of the PAUSE routines in 
“Listing Learning” indicates that the 
program may be used on the ZX80 (8K 
ROM). In our last issue we noted that 
programs for the ZX81l and the ZX80 
(8K ROM) are virtually identical except 
that certain types of displays on the ZX80 
(8K ROM) need the PAUSE routines as 
a substitute for the SLOW mode. If you 
have the ZX81 or the T/S 1000, you can 
substitute the FOR/NEXT loops, but you 
can also just omit the PAUSE routines. 


1600 WORK FOR You! 


Seeme memet Oe A TT eS Hee Se atate See SE SOE SOE Gu aD tues soene Sener nina ster sees 


Are on cassette, are menu driven and save on tape automatically. 


SALES FILE 16K: 


Will hold up to 125 products with their wholesale and retail prices. 
Separates and totals wholesale and retail prices and shows the amount of 


Profit in up to 25 different accounts. 


- Records inventory automatically 


or may be changed manually. - Keeps a running total of sales tax. 


Has a cash register mode which will 


identify, total, and add sales 


tax while it automatically keeps records for your bookkeeping. 


SALES FILE 64K: Same as above except it will hold up to 6@@ products for up to 


100 accounts. 
##*% A must for any small business. 


CHECKING 16K: 


**#S5pecify 16K or 64Ke* 
EERO mmr me ee ee e a e m e e e e e e e e e e e $19.95 


Lists up to 25 deposits showing amount of deposit and date entered. 
Lists up to 8@ checks and displays check number, date and to whom check was 


written. - Lists by account the total of the checks written to any given 
account. — Keeps a running total of checks written and the balance left in 
your account. — Search for a check by check number, name, date or amount 


to find any check quickly. 


*#*# Great for tax records. *### --~----—--~—~~------~~-~----~-------~--- $9.95 
MAILING LIST 16K: 

Holds up to 108 names, addresses and telephone numbers. - Search by name, 

city, zip code, or phone number to find any address or phone number 

quickly. - Lists all names, changes or deletes. 

#*#* Christmas cards are a snap with this program. *** ------------ $9: 95 


INVENTORY (1) 1K: 


May be used for everything from keeping an accurate inventory for your 


business, to your personal record collection. - Holds up to 150 items with 
comments for each. - Comments may be used for serial numbers, dates, 
Prices or location. - List all items, search. for a Single item, change or 


delete any item. — *** Everyone should have an inventory of household 


items in case of fire or theft. ««* 


INVENTORY (1) 464K: 


Same as above with 
*#*#*® Specify 16K or 64K #*##* --------- 


up to 75@ items. 


INVENTORY (2) 16K! Same as above without comments. 


Holds 300 items. --------—--------~--- 


EDUCATIONAL PROGRAMS: On cassette and menu driven. 


MATH QUIZ: 


Require 16K. 


Allows user to choose addition, subtraction, multiplication, or division 
for up to 5@ problems, with difficulty levels from 1 to á. 
Each problem may be listed with the correct answer. 


*** Great for home or class room **#* -—---—------—-—----—~---—---~~~~-~~_ $9.95 
FLASH SPELLING: 

Enter up to 5@ words for your child to learn to spell. - You determine how 

long you want the word to be flashed. - Misspelled words may be listed. 

*** Word files may be saved on tape. ##% —-----~—-------—~----~~~~--~ $9.95 


Send certified check or money order to: 
Indiana residents add 4% sales tax. 

Add $1.00 per tape shipping. 

Dealer inquiries invited. 


HEATH COMPUTER SERVICES 
95@ East 52 South 
GREENTOWN, IN 46936 
Phone 317-628-3138 


Pantry Inventory 


Dear Editor: 

I thoroughly enjoyed Dr. Justham’s 
“Pantry Inventory” (SYNC 1:6). I have 
expanded upon it, and I would like to 
share a more efficient search routine us- 
ing the LEN command. Rather than use 
up memory space by creating a separate 
array M$ in line 3044 with which to 
compare the “item” sought (C$), com- 
pare C$ to the original array I$ (B) di- 
rectly as follows: 

3040 INPUT C$ 

3050 FOR B=1 TO 150 

3060 IF C$=I$ (B) (1 TO LEN 
C$) THEN GOTO 3100 

3070 NEXT B 

Using the same method, it is possible 
to expand the search routine to search 
records internally, i.e., looking for 
strings within a heading and not limited 
to the first characters within that 
heading: 

FOR B$=1 TO 150 

FOR J=1 TO (LEN I$ (B)-LEN 
C$-1) 

IF C$=I$ (B) J TO J+(LEN C$- 
1)) THEN GOTO 3100 

NEXT J 

NEXT B 

If you have a larger number of 
records, this search may take a while, 
but it is very thorough. Thanks for your 
highly entertaining and educational 
magazine. I look forward to my next 
issue! 

Jeff Hino 
929 NW 28th 
Corvallis, OR 97330 


Lunar Lander 


Dear Editor: 

If you have more than 1K RAM, you 
can modify Chuck Dawson’s Lunar 
Lander (SYNC 2:1) with the lines given 
below which will indicate a safe landing, 
your pilot’s rating, and the reason for 
the rating. 

Dick Bloom 
PO Box 91 
Cloudcroft, NM 88317 


a IF NOT H AND Uc-18@ THEN ST 


41 IF WH THEN GOTO 11 
tT H ae Vt>-i8@ THEN PR 


DEN 
43 IF NOT N AND F (6009 THEN PR 
INT AT 206.16; “CMNDR* 
44 PRINT “GOGD FUEL USE“ 
45 IF a. 16: "CAPT. F:4000 THEN PR 


IR FUEL USE“ 
47 IF NOT H AND F:2000 THEN PR 
INT _AT 26.26. “PRUT 


6 PRINT “NEED TO CONSERVE FUE 


49 IF NOT H AND F<isee THEN PR 
INT AT 280.16; “RESCHOOL" 


woe PRINT “TOO MUCH FUEL USED 
Sl STap 


November/December 1982 


y 


SINCLAIR/TIMEX USERS 


NOW SYNERGISTIC OFFERS YOU THE ‘SMART™ CHOICE 
DESIGN 


THE SYSTEM LOGIC KBD-I 
‘SMART™ KEYBOARD 
ENHANCEMENT FOR 
SINCLAIR/TIMEX 
COMPUTERS 


SYSTEM LOGIC — KBD-1 


FEATURES SPECIFICATIONS 


e ‘SMART™’ shift function 


e Tactile feedback i i 
e 59 keys (with left and right shifts) Contact resistance: 200 @ 1mA 


e Standard (QWERTY) typewriter format Contact rating: 1.0V/A 
e Silk screen labels compatible with 


Sinclair/Timex keyboard | Contact bounce: <5.0mSec. 
e Compact design Switch life: 5.0x10® operations 


e Rugged yet attractive black anodized 
aluminum cabinet typical 


e Simple installation 
e Custom engineered for Sinclair/Timex Switch force: <9.0 oz. 


computers Switch travel: .015 in. 
e Auto-repeat function (fast/slow modes) 


MAIL ORDER TO: 
SYNERGISTIC DESIGN 
P.O. BOX 411023 


CHICAGO, ILLINOIS 60641 *I!linois residents include 


6% sales tax. 


PRICE QTY. 
SYSTEM LOGIC KBD-I KEYBOARD $85.95 * 
Shipping and handling (per unit) pea eee 


Money order or check TOTAL 
NAME 
ADDRESS 

g CITY 


SUnNcC notes _ 


SYNC at the Drawing 
Board 


Our theme section this issue is 
“SYNC at the Drawing Board.” This 
selection of articles illustrates some of 
the techniques that can be used to gen- 
erate graphics displays. If the number of 
manuscripts we receive means anything, 
producing a graphics display is among 
the most popular challenges of computer 
programming. 

All of us can draw a picture on paper 
(some better than others, of course). We 
envy those who can draw real pictures 
with a few movements that seem so 
effortless. Now the computer has given 
us all another tool for making pictures 
and the challenge of mastering the dis- 
play screen. 

Simply filling the screen with a graph- 
ics display is one of the first program- 
ming efforts. Such a display can be 
produced through a program involving a 
random element such as several of our 


10 


“Try This” entries have done. These 
brief programs can fill the screen with 
constantly changing patterns. However, 
we have no control over the display once 
the program begins running. The 
greater challenge is to produce a display 
that shows what we want whether a pic- 
ture or some kind of graph or design. 
The ultimate display is one that the user 
can interact with and that will modify it- 
self in response to user input. The games 
with moving graphics are prime exam- 
ples of this type. 

Graphics ate fun for their own sake. 
To be able to control the graphics 
capabilities to produce hi-res displays is 
the programmer’s reward. In order to 
develop displays with moving graphics 
and high economy in programming, we 
need to learn something about machine 
language programming. However, many 
are also interested in using graphics as 
part of a larger program to display data, 
liven up programs, provide a challenging 
game, or just have the fun of creating a 
display. 


ZXPRESS™ — 


The programs in our theme section 
illustrate how mathematical formulas 
can be used to provide graphics, how to 
get the smooth graphics that resemble 
movie or TV pictures by the use of ma- 
chine code, and how to use such pro- 
grams as subroutines within larger 
programs. We hope that these articles, 
along with our “Just for Fun” entries, 
will challenge your imagination and give 
you some tools for your own 
programming. 


Theme Sections 
Coming 


Our next issue will feature “SYNC in 
the Home Office.” Other projected 
themes include “SYNC on the Job” 
which will show some of the ways 
Timex/Sinclair owners are using their 
computers for their jobs, “SYNC at the 
Concert” which will show some of the 
musical capabilities, “SYNC at the Ar- 
cade” which will put together some ar- 
cade type games. 

Other theme sections will depend on 
the availability of articles to support the 
setion. So if you have a possible article to 
support one of these themes, we want to 
see it. 


Non-Trivial Solutions’ new Integer Basic Compiler! Now you can write 


programs in rapid time! 


compiles ZX-81 Basic source code to machine language: write and debug 
in a subset of ZX-81 Basic: compile when it’s right 


increases the speed of the ZX-81 20 to 50 times 


208 regular variables, 26 dimensioned variables; variables are 16 bit 
two's complement integers 


compiled code can be stored in REM or in 2000H to 3FFFH address 


segment, if available 


the source code can be located anywhere and the position of the com- 
piled code can be selected, allowing you to write a long program, com- 
it in pieces, and link the pieces 


4 functions -- 


14 key words 
16K or more RAM 
$29.95 


Still available: 


PEEK, RND, USR, IN KEY$ 


e Letter Raiders & Life with Palette 
e challenging games 


e $9.95 each 


(Copyright 1982 NON-TRIVIAL Solutions) 


ZXPRESS 


Die ea 
Letter Raiders Me eet ge 
Life with Palette [| | 


Card No. 


TOTAL 


LI Check enclosed Charge my O Mastercharge O Visa 


Exp. Date 


Signature 


A HR 
NON-TRIVIAL SOLUTIONS 


P.O. Box 2941 
Amarillo, Texas 79105 
(806) 376-5723 


SYNC Magazine 


Od 
ane 
gie 
A 
D, 
N 
D 
Q) 
Q- 
= 
(Q 
Un 
os 
pa 
5 
Q) 
JD 
O 
a 
O 
(ar 
op. 
D 
= 
(D 
Q) 
5 
n 


use of Gnomes 


AL 


it 
| 


il 


Ņ 


BYTE-BACK modules 
164-K MEMORY $119. 


NT INFORMATION 
xo BYTE- shes MD-1 


MODEM only $119.9% 


WIRED and TESTED $149.95 


Use your phone to connect your “LITTLE” ZX81 to the 
“LARGEST” computer networks in the worid. With BYTE- 
BACK’s MD-1 MODEM connected all you do is dial a 
phone number (usually local), press a few keys and watch 
the data appear on your TV screen. (Software is included) 
This MODEM can be used in either the “originate” or 
“answer mode with selectable baud rate. 


You can have immediate access to: 


UNIVERSITY COMPUTERS,DOW JONES. 
UPI, AND MORE ! 


As an extra bonus an RS-232 port is provided to 


allow you to drive all standard RS-232 peripherals. 


(75 to 9600 Baud) 

BYTE-BACK’S BB-1 
CONTROL MODULE 
In Stock! 


e 8 Independent Relays 
(with LED status indicators) 

e 8 Independent TTL Inputs 
fats Schmitt trigger buffers) 


e By using a single POKE command 
you Can change and latch the status 
of each of the 8 relays. 


e Your ZX80/1 can read the 
Status of all 8 inputs by the use of a 
single PEEK command. 

e A comprehensive manual is in- 
cluded that has complete application 
details. 


$59.00 
WIRED and TESTED $69 


WIRED and TESTED $129.95 
IN STOCK! 


SAME DAY SHIPMENT! 

WHY PAY MORE? | 
BYTE-BACK’S M-64 extends the memory of your ZX81 or 
Timex-Sinclair 1000 to a full 64-K. It’s user transparent. It 
plugs directly into the back of the ZX81 and has an 
expansion port to allow you to still use a printer. No extra 
power supply is required. It has all standard features plus 
the area from 8-16-K can be switched éut in 2-K incre- 
ments for memory mapped peripherals, PROMS, etc. 
Same proven reliability as our M-16 with thousands in 
use. 


EXPAND YOUR 16K SYSTEM 
m = $59.95 KIT 


WIRED and TESTED S69 95 


If you have a Sinclair 16K 
RAM module and need more 
memory, expand it to 32K and 
beyond by using BYTE-BACK 
M-16 MEMORY MODULES. 
YOu can't connect two Sin- 
clair 16K RAM modules together, but you can connect 
one Sinclair 16K and one or more BYTE-BACK 16K 
modules to get all the memory you need. 
THOUSANDS IN USE WITH PROVEN RELIABILITY 
IN STOCK — SAME DAY SHIPMENT 


RS-232 Module $59.95 


WIRED and TESTED $69.95 IN STOCK 
Allows you to connect ZX81 to all RS-232 printers & terminals. 


ALL MODULES CARRY 90-DAY WARRANTY 


TRY BYTE-BACK MODULES FOR 10 DAYS WITH NO OBLIGATION 


Remember with: BYTE-BACK modules you are NOT limited to using only one module at a time! 


O M-64 Blank PC Board 


Shipping and Handling $4.95 


ORDER PHONE (803) 532-5812 


Exp. Date Card No. 


O'M-64- Wired and Tested =.=. 2 


Bill My 


$119.95 


et Ses $129:95 


919.95 


O Visa O MasterCard 


BYTE-BACK CO. 


Name 


LEESVILLE, S.C. 29070 
Ph. (803) 532-5812 


Address 


City/State/Zip. 


RT. 3, BOX 147 e BRODIE RD. 


Mail To: BYTE-BACK CO. e Rt. 3, Box 147 © Brodie Rd. è Leesville, S.C. 29070 


The ZX81 BASIC 
Programming Manual 


If you make a reference to the manual 
that you received with your Sinclair 
ZX81 or 8K ROM in any aarticle or 
correspondence sent to SYNC be sure to 
specify the edition. There are four edi- 
tions of the book available now: the first 
and second British editions and the first 
and second American editions. There 
are some differences. 


SYNC Is Growing! 
You Can Help! 


The first nine issues of SYNC gave 
readers a magazine of 48 pages plus cov- 
ers with about 30-35 pages of editorial 
and 12 to 15 pages of ads. Volume 2:4 
jumped to 80 pages; Volume 2:5 to 100 
pages. This issue has 124 pages showing 
increases in both editorial and ad 
content. _ 

To maintain this size magazine we 
need your help in two ways: 

1) We need articles and contributions 
from authors. So if you have an article of 
possible interest to SYNC readers, we 
would like to take a look at it. If you 


have been thinking about writing some- 
thing, drop us a note telling us what you 
have in mind. We will tell you whether 
we would like the idea developed and in 
what direction to increase its usefulness 
to our readers. If you missed “Writing 
for SYNC” in SYNC 2:1, send a self-ad- 
dressed stamped envelope for a copy. 
This will help you put your article to- 


Glitchoidz 
heport 


ZX Destroyer (2:4) 

The author suggests the following 
changes and clarifications: 

Figure 6: 

1 REM: 6th line down, last character is 
U. Last line, change last F to E. 

2 REM: Ist line, change C (5th char- 
acter) to A; change 2 (4th character from 
right) to 1. 

30 REM: Ist line, change 4 (5th char- 
acter) to 5. 

Figure 7: 

Line 90: changee 243529 to 243473; 
488940 to 488758; 612608 to 612426. 

Line 110: change 733561 to 733408. 


IT’S HERE! 


The keyboard you have 
been waiting for! 


ZX81 OR TIMEX SINCLAIR 1000. 


ORDER TO: E-Z KEY 
SUITE 75A 


QUINCY, MA 02169 


November/December 1982 


A LARGE 60 KEY TACTILE: FEEL KEYBOARD 
(MEASURES 10” x 4”) THAT PLUGS INTO THE SAME 
CONNECTORS AS EXISTING KEYBOARD ON YOUR 
IT HAS ALL 
SILKSCREENED LEGENDS IN 3 COLORS ON THE 
BASE; MOLDED LEGENDS & GRAPHICS ON KEY TOPS; 
8 AUTOMATIC SHIFT KEYS (NO SHIFTING REQUIRED) 
FOR EDIT, DELETE, SINGLE & DOUBLE QUOTES, 
COLON, SEMI-COLON, FUNCTION & STOP; 5” SPACE 
BAR; 2 SHIFT KEYS; NUMERIC KEY PAD. 


ONLY *70.°° 


MASS. RESIDENTS ADD 5% SALES TAX 
SHIPPING & HANDLING $4.00/UNIT 


ENCLOSURE AVAILABLE. QUANTITY DISCOUNTS. 
WE ACCEPT MC/VISA. PLEASE INCLUDE #'S, EXP. 
DATEAND SIGNATURE. FOR MORE INFORMATION 
SEND SASE. SEND INQUIRIES, CHECK OR MONEY 


711 SOUTHERN ARTERY 


timer 
15 


mental data, etc. . . 


PRACTICAL ZX-81™ SOFTWARE 


ZX-PANDING, LTD., an American company, uses the tremendous 
ZX-81@ data handling capabilities to make our daily tasks easier. Programs 
are on cassette, thoroughly tested, with easy-to-read printed instructions, 
written in BASIC to allow tailoring to your special needs. 

; 1. YOUR SPECIAL DAY—1K—Good example of using succes- 
sive equations to answer a practical question. Enter any date in history, 
and ZX-81= will tell you the day of the week on which it occurred. Useful 
in many fields and a great ZX-81= demonstration. ..... ONLY $3.75* 

_ 2. CLOCKS AND TIMERS—1K—A digital clock (standard or 
military time), a count-up timer (for telephone calls), and a count-down | 
(Useful in cooking). Another great ZX-81@ demonstration .ONLY 


_ 3. ANYPOINT PLOTTER—1K—Crunches any data to allow 
graphing of any paniya a Baes stock prices, temperature, experi- 

4. CHECKBOOK, INCOME TAX AND BUDGET ORGANIZER—16K A 
powerful yet easy to use finance program—10 jobs in menu driven format. 
Checks and deposits are totaled and itemized under desired categories for 
budget planning and income tax preparation. Makes checkbook balancing 
easy. Ninety transactions manipulated at one time with 16K . .ONLY $13.75* 


LY 


2X-PANDING, LTD. 


order to cover POSTAGE AND HANDLING. 
P.O. BOX 25 (Foreign orders add $2.00 to cover air 
NEWTON, NC 28658 costs. Your payment must be in a U.S. 


gether. If you are interested in writing 
reviews, see p. 110 below. 

2) We need advertisers. If you have a 
product, please contact Karen Musmeci, 
our new Advertising Sales Manager (see 
the contents page for details). If you 
have bought a product whose manufac- 
turer or distributor has not advertised in 
SYNC, please plant a suggestion. a” 


Figure 8: 

Do not enter lines 10-35. 

Author’s note: I have a SLOW convert- 
er from MicroAce which apparently has 
a different character sync. This causes 


small lines on some characters on some 


computers. POKE 16547,1 might help. 
Some problems with the alien’s laser can 
be corrected for those who have the pro- 
gram already entered by: POKE 16748,13; 
POKE 16764,149; POKE 16779,140. 


Just for Fun (2:5, p. 20) 

The first character of the following 
carry-over lines was lost. Add at the be- 
ginning of the carry-over: 

Zap: Line 40: a period. 
Catch 25: Line 120: a comma. 


Block Transfers (2:5) 

p. 71, Figure 2: 

Line 230: Delete. 

Line 260: Add a ; at the end. a” 


ZX-81™ Not Just 
For Games 
Anymore! 


ALL 3 FOR ONLY $8.75! 


Free catalog with self addressed stamped 
envelope. 
*ALL orders pioase add $1.25 to total 


dollar draft payable to U.S. bank.) 


TS/ZX ASCOM 

(operates with 1K on board ram of the 

TIMEX or SINCLAIR) $24.95 

Now the real power of the computer is at your 
finger tips. Our new software routine will operate 
the ZX-81 or TIMEX 1000 as aterminal...Program 
requires our parallel/serial board and your 
modem. Converts CLIVE code to full ASCII and 
allows you to have dial access to the computer 
world for data bases or just computer to com- 
puter communications. 


INTERFACE BOARD SERIAL AND PARALLEL 
$99.95 
Super new product. This interface board brings 
the world of TIMEX and SINCLAIR personal com- 
puters into the real world of computers. Features: 
e Centronics Standard Parallel Interface to 
Printers, etc. includes handshaking. 
e RS 232 Serial interface with full specifica- 
tions and input or output. 
e Qn board driver routines in 2716 EPROM 
e Switch selectable BAUD rate for high speed 
(9600) communications 


When the board is used in connection with our 
TS/ZX ASCOM software then the user can access 
any of the many network ON-LINE services or 
communicate directly with other computers. 


LOW BUDGET 16K RAM PACK 

$44.95 

Just arrived in time for the gift season, a low 
priced 16K ram pack. Standard features of our 
other packs, but it is shipped without the final 
case. Guaranteed not to let you down and makes 
memory affordable. 


ew Releases 


TIMEX 1000° / Siri 2x-81° 


Personal Computer Software 


TS/ZX PAC MAN (16K) 

Adventure Arcade Style $19.95 

Fantastic re-creation of the famous arcade game 
now on the Timex or Sinclair personal computer. 
FAST MOVING and requires a lot of skill. If you 
win at the first level then there is more to follow. 
Degrees of difficulty on a full size screen maze, 
with PAC MAN type graphics and moves. Don't 
miss it. 


COMP-U-SHARE (16K) 

PERSONAL HOME FINANCE $24.95 

Excellent program that allows the user to main- 
tain an up to date record of his portfolio. Stocks, 
Bonds, Funds or other financial investments. 
Developed by a professional for his own use. 
Monitor your results or run a forecast of 
expected results. Includes P/E ratios, dividends, 
etc. User guide included. 


PROPERTY MANAGER (16K) 

BUSINESS or PERSONAL FINANCIAL $24.95 

Our accountant believes that this program 
allows your system to be tax deductible as an 
individual, we will advise upon further notice. 


Property owners or Managers will find this an 
extremeiy valuable tool. Provides for any com- 
bination of 10 units in 2 buildings or 2 units in 5 
buildings per program. If you have more than 10 
then just run a new copy of the master file. The 
program tracks each unit for RENT, up to 15 var- 
lable expense categories, and 15 fixed expense 
lines, all for a full year. That’s right 12 months of 
data including late payments, and optional save 
routines for the ZX-99. 


Personal 
Home 
Business 
Education 
Adventure 


CASH FLOW FORECASTER and 

BUDGET ANALYSIS (16K) 

HOME or BUSINESS $19.95 

Brand new financial utility for use at home or in 
the office. Keeps detailed records for twelve 
months in the three major categories. INCOME, 
FIXED and VARIABLE EXPENSES PLUS LOAN 
BALANCE OR LINE OF CREDIT. Provides the user 
with the ability to forecast or track the history of 
his cash flow. 


INVENTORY CONTROL AND STOCK ANALYSIS (16K) 
HOME or BUSINESS $19.95 

The first in a series. This program operates as a 
Stand alone control or it will operate with the 
ZX-99 Tape control system for file handling. Fea- 
tures include stock control of units and of 
values, with separate routines for receipts and 
returns or sales and shipments. Special routine 
for adjustments in units or values. Program uses 
average cost for inventory value and shipments. 
Allows the user to SORT by code or alpha name. 
Quick access to stock levels. New feature will 
allow the user to automatically expand the files 
for 32 or 64K ram packs. 


data~asette 


THE LOGICAL EXTENSION 


Tape Controllers and Printer Interface 

Just look at these fantastic features 

e ZX-99 automatic tape control of up to four cassette 
recorders as input or output under full software con- 
trol. Printer interface for any RS 232 serial printer giv- 
ing the user access to all 132 characters of ASC Il 
characters. Data retrieval word processing for real 
mini-computer capabilities. Plus! Automatic tape to 
tape copy, tape block skip and diagnostic assistance. 
e Jape load interface. Say goodbye to the load prob- 
iems associated with the system. The tape loader 
allows the user to test and pre-set the cassette 
recorder to the exact sound level expected by the 
Timex or Sinclair. No more five minute load with un- 
Satisfactory results. Unit has LED lights which tell the 
user when the recording level is correct or when the 
sound needs modifying. A real big time saver. 


Ram Packs 16K, 32K or 64K 

Expands the memory available from 2K up to a maxi- 
mum of 64K, but with a real difference. Our 32K also 
comes in a piggyback version that allows the user to 
plug in his 16K and have a full 48K of memory. Finally 
you can buy the 32K piggyback version now and add 
another 32K later for a full 64K in the end. Plugs 
directly into the computer and does not require any 
additional power source. Features a LED light to 
signal when the ram pack is operational. 


Keyboards | 

The Klik and Executive. Both units offer unique fea- 
tures. The Klik is full replacement for the “Touch Sen- 
sitive” Timex keyboard. Features include separate 
space key, plugs into your Timex, no special case 
required, positive feedback from key depressions. 
Executive keyboard is the ultimate in the ZX-81 
Timex/Sinclair range. It is a full size with special fea- 
tures like automatic repeat key, full length space bar, 
and “beeper sound” operated with an on/off switch, 
plugs into the computer or we will retrofit it for you. 


Data-assette offers Timex and Sinclair 
owners something new. 

Users may up-grade gradually as their needs 
change. Each unit is fully tested and carries our 
90 day guarantee. Purchase the full suite and 
you have a mini-computer with real data pro- 
cessing. Our product range allows the intelligent 


user to expand his system as his needs change. ible or selectable. Now all of this and our full 
Finally all of our software has been specially range of software (over 50 choices) is available 
selected to offer the user a tested and reliable from your local Timex computer dealer or store. 
product that has been developed with two impor- So come on in and try out the latest logical 


tant criteria: user friendly and hardware compat- extensions. 


PRODUCT UNIT TOTAL Data-Assette has over 50 software programs in its library, and we are 


NAME and CODE PRICE QTY. VALUE adding more each month. If you wish to see our catalogue or join our mail- 

ing list, just send $2.50 which will apply towards your first order. 

$ 49.95 Sete ae te eee ene Information and product spec sheets may be obtained by mail, or phone our 

$109.95 E RUE HOT-LINE 800-523-2909; in Penna 215-932-4807. 

$9995 | = | ss PLEASE RUSH MY ORDER TO: 

Rs ean eee 
Charge To: VISAO Master LJ 

TX/ZX ASCOM $ 24.95 Send to: Data-Assette (sy-3) 


Shipping/Handling 


56 South 3rd St. 
Oxford, Pa. 19363 


| | ee aan De ede Reus a ee ee 
TOTAL ORDER 


teru EAS 


4K ROM 
Type in the program listing below. 
Then RUN the program and watch the 
results. The program takes about 15 sec- 
onds to finish RUNning. Then try dif- 
ferent values for lines 50 and 70. The 
values 8 and 136 produce an interesting 
display. 
Our thanks to: 
Joseph Ho 
297 Gibson St. 
Fredericton, N.B. 
Canada E31 4E7 


190 FOR Y=-10 TO 10 

20° FOR. AES O TO TO 

oO IF ABS (CY) =(ARS(Y) /2)*k2 AND# 
ARS (X)< ABS CY) +1 THEN GOTO 70 

40 IF ABS (X)=(ABRS(X) /2) ko 
ABS (Y)ZABS(X)+1 THEN GOTO 70 

JO PRINT CHR#(0) S 


AND# 


60 GOTO 80 
70 FRINT CHR (1268) ; 
80 NEXT X 
90 FRINT 
Too NEXT ¥ 


TS-1000 ZX 80/81 


8K ROM 
In this issue we have two little pro- 
grams that are similar in the results, but 
different in the method of achieving 
them. 
Type in the following line: 


1 REM Y GOSUB X PRINT èE LN 
P? LET Wer NEXT 


Graphics line note: 
ss 
Then type in: 
POKE 16517,71 
If you want to save this program, do it 
now because you will not be able to 
BREAK and save it after RUNNING. 
Then type in: 
RAND USR 16514 
and observe the results. 
Our thanks to: 
Scott Laska 
2205 Calumet Drive 
New Holstein, WI 53061 


8K/16K 


FUN GAMES FROM 


8K ROM 

Type in the listing below. The REM 
statement must be entered exactly as 
shown. 

Line notes: 

1: TAN on the E key 
50: inverse space (22) 
80: A (12) 

After the program has been entered, 
hit SLOW and ENTER and then RUN 
and ENTER. Observe the results. To 
exit the program hold the M key down 
and hit the BREAK key. You can exit 
the program by just hitting the BREAK 
key, but the screen display will “fall 
apart.” 

Our thanks to: 

Tom Jury 
415 W. Walnut St. 
Lancaster, PA 17603 


19 REM Y@O@OTAN 


XF 
Y=8 TO 14 
PRINT AT Y,10;“} 


90 N Y 
100 LET L=USR 16514 
110 a Urera RS i 
EY =" ee TH N ET = 
130 POKE 16515.,K F nati 
GOTO 1820 m 


Haymarket Software 


e All programs on cassette and fully documented 
Easy to play by 1 or 2 players 


Can be played against computer or another 
players 


Playing boards are displayed 
Educational & fun for all ages... 


meee PEN 
P LiGH* i 
L pgi 


xk k k kkk kkk x 


“FLIP-FLOP” an interesting combination of 
Checkers, Othello, and Tic-Tac-Toe. 


5 levels of play 
‘“ZX-Black Hole” 


Light Pen for ZX81. Cassette included. 
Control Board for 8 devices 

Character Generator 

6K memory (Internal) 


$69.95 
$49.95 
$59.95 
$49.95 


mail to: 


ZODEX east hill, 
oakham, ma. 01068 


k November/December 1982 


pe ae PSP ESS AE SH PU Sh CS PRC SR Se 


Tdo 


SCRE BE DC BC BE T eda T adeo T ai T aka T IC ICBC IC OC IC T o T ao T aa T ca T da T ea T a T da T da 


yg 


Peo T do T o 


Teo T da T do T do T aa T do T da T do T eda T do T ao T adas 


Ta 


Mal dt d a d] daS d d da T NC BC IE IC BC IC T do T da T da T do T do T do | d T do 


Tk 


Py T a Taka T ahs? an T a eT aa Tead T: da Tro T A BENE Se Ve" 


os 


4 


E 


Tade Ta Ta Tp 


F 


b 


PITLT. 3C 3C Vde T de T hoT da T de T de Y da T da T da Y da T d T da T A T a 
A a Cececee eres! a 

FEW | OPAeeocer GLL oe 
Learns j oer tii H - 
about our i ee ” 7 = apie BOARD 
KEYBOARDS : I ti- a manual covers 


what you need 

to know about 

keyboards in general 

and shows how to wire 
them to your Sinclair or 
Timex computer. It includes 
circuits on how to use extra keys 


We only sell kits 
because we feel that 
the best way to add a 
quality keyboard to your 
computer, is to remove the 
bottom and solder 16 wires to 
the circuit board. If you can brush for Reset, Shift-lock, Auto-repeat, 
your teeth unattended then you possess and other user-defined functions, plans 
all the manual dexterity needed to do the Keyboard with manual for a 3 amp power supply that lets you 
job. Most keyboards on the market are run your computer and add-ons most any- 
similar and will abo require a little soldering $37.50 where, including your car, and plans for a 
If you can solder one end of a wire, you can case with tape and/or module storage. If you 
assemble a kit. So, we only sell kits. decide to buy a keyboard later, you may deduct 
the price of the manual. 


This keyboard was originally made for T.I. It has 62 
full-sized keys with gold contacts mounted to a 
metal plate 4” by 15.5”. This is a quality 
keyboard and our manual wilbhow you 
how to make full use of all those keys. 


The 
EPROM 
Programmer 
puts an end 
to cassette tape 


The Joystick Controller handles up to 4 Atari headaches by letting Semi-kit; board, parts except EPROMs, plain 
type joysticks. It allows full 8 direction you store programs in sockets, manual, No case. $49.85 
movement and fire control in machine ROM. Simply load a pro- Full-kit; Includes ZIF sockets and case 
code for fast response. gram, then your computer Without EPROMs $74.45 
Manual $ 6.00 can store it in one or more With EPROMs $94.45 
Bare-board; no manual $12.00 2716 EPROM’S. The module holds Wired and tested; Includes ZIF sockets 
Kit; board, parts, case, and four 2716's, giving you 8K of ROM Without EPROMs $86.95 
manual $39.95 in the 8K to 16K slot. By using ZIF With EPROMs $106.95 

Wired and tested $49.95 (zero insertion force) sockets, ROM’s can Bare-board; No manual $19.75 
be changed as easily as cassettes. Programs Manual: $6.00 


load in seconds, not minutes; first time every- 
time. Store permanent machine code subroutines, 


EDGE CONNECTORS upper/lower case character set, math symbols, special 


TATATA ayaa yaya vaya T ee T ade T ada T ahi vara Y aa T ada T ae T ae T ae re 
AIl prices postpaid U.S.A. only. In 
Canada add $2.00 for manuals or 
$5.00 for all other articals. All other 
W countries add $4.00 for manuals or 
$ $10.00 for all other articals. U.S.A. 
funds only. Check,money order,VISA, 
Mastercharge. Phone orders accepted. 
Texas residents add 5% state sales tax. 


TIT LT ATS TAT aT aT de T ado Y do T da T da o T da dl da T do T CSCIC OC ICICI ThT. B66 dT dT dT do] do T da T de Y AT dT de T da T da T do Y da T do T de Y da T e T. 


46 Gold contacts 
Wire-wrap, solder 
tail, or PCB 

Your choice 


$4.95 


graphics, tool-kits, de-buggers, etc. all without using RAM. VOLTAGE REGULATOR 


LM323K 


5 Volt 
3 Amp 


$3.95 


punuaunnununEENER 


28 0 208 8 OE BE A 
ERY RS ORE SRE AE T LE 1 j 
Rod EERFTE EI] 5 
TETEE ae Cie ia 


The Synchronize system is designed to put 
maximum fun and utility in your hands at 
minimum cost. Manuals for our products may 
be purchased separatly, and are complete 
enough to build your own modules using 
your own parts. If you decide to buy a kit 
or wired module, the price of the manual 
may be deducted from the advertised price. 


t 
4 


at oe ye oe Se COC OT BE 
Ve ihe de de. ae 


eS 


P.O. Box 1667 


Pp tn Ey 


1-512-896-128 


= 


pte 


Kerrville, Tx. 78028 


5 ae Ge do Gee OC BE BE BE IC 


ye a ths ARSENE SESE HG IE BOP 


PAT, 


ne T aks ao ao, Ae Ta 


ida | do | do T do 


yeh AS PS ha PS Pe oh Tol 


che de ce | ce te dee 


FoF % es 


ye or he 669892 Fe Oe BE I ala Ya 


Pitar. 


ce de da da 


PPT. 


rede Tda d cin. cian ale a. che a cab che ahi de ue th cde ae 


< 


E BC BE OE BE IE OL BE SA 


ee ee Oe 
e SEARCH AND REPLACE 
eRe PER n 


a 


MAZOGS 


RA RETZ roe wee 


UNCLE 
CLIVE 


T-SHIRT 


MORE TS1000/ZX81 SOFTWARE FROM... 


a SOF TS YNC, INC. 


14 east 34st NY. N.Y. 10010 ems v/c & VISA ACCEPTED (212) 685-2080 
WRITE FOR FREE CATALOG & PROGRAM LISTING 


iust For run 


Generally SYNC prefers articles in some depth to help you get more out of your 
computer. However, we receive many short programs that illustrate a point, 
demonstrate a technique, or show something the reader has found interesting. 


“Just for Fun” shares these programs with you. If you learn something, great. If 
you have some fun, great. If you have some that you want to share, send them 
to: Just for Fun, SYNC, 39 E. Hanover Ave., Morris Plains, NJ 07950. 


Mousetrap 


M. Hampson 


In “Mousetrap”? your objective is to 
trap the mouse which is represented by 


the O. Your position is shown by the $. : 


By constantly decreasing the amount of 
space the mouse has to run in, you will 
finally trap it in a small enough space 
and win the game. You decrease the 
space by building walls with the arrow 
keys. While you can go off the sides, you 


SSSECRSE- 2 2 


ar Tet TO 20 


SS 
= 
3 PRINT CHR 8; TAB 31;CHRS 8 
a w a 
5 Loni Sea eps ab pi 
SSS SARE ANE 
© LET V=14PEEK 1623906+2562PEEK 
1639F 
F LET P-UH34+INTF (RND+30) +333 
INT  (RNC+20) 
S LET D=(32+(RND?>.5) 42) FSCN ¢ 
RND- S) 
9 VEY O UAA 
1@ LET Go=a 
30° LET ee 
100 LET) AsAet 
201 IF A-9 THEN GaTa aaor 
3102 IF PEEK (P+D) THEN GOTO see 
28S POKE P.a 
110 LET P=P4pD 
T20 POKE P. S2 
528? IF PEEK @<3118 THEN POKE ©®, 
{218 IF INKEYS$="S" THEN LET @=0+ 
fii IF INKEYS$="S" THEN LET 9=0- 
4212 IF INKEYS="6" THEN LET @=9+ 
gets IF INKEYS="7" THEN LET O-O- 
— 
1228 IF PEEK @4:118 THEN POKE ©, 
— 
325 LET GO=GOe1 
230 Gora 3s 


November/December 1982 


cannot go off the top or bottom. Your 
score will be displayed in the upper right 
hand corner. The aim is to get the lowest 
score possible. 
Graphics line notes: 

l and 5: A (32). 

8010: Inverse space (3), “GOT 
HIM. YOUR SCORE IS” in inverse 
characters, inverse space (2). 


M. Hampson, 7 Hereford Dr., Clitheroe, Lancs BB7 
1JP, U.K. Reprinted from The Ultimate Magazine with 
permission. 


is Sue : r 

S928 PRINT s28- GO ‘Ee 

saza PAUSE Seeee 

3031 IF INKEYS="K" THEN coro S 
Sa35~ CLS 

Sada RUN 

Seeaea GOTQ 85882420412 

S158 IF PEERK iP-333 =PEEK (P-2) T 
HEN We PH Sal Baa & oS 

S461 IF PEERK {P-233)} AND D=-34 TH 
FA N int ES > =-32 

3262 IF PEEK (F-1}3} AND G=-34 THE 
LET OG=-3e 

3153 GoTo 282 

21309 IF PEEK iP-3B3 =PEEK {P+1i} TF 
HEN LET S=3e 

5351831 IF PEER {F-32323 AND DĄD=-32 TH 
=h Eri tr =34 

391322 IF PEER P42} RHE O=--BS THE 
i LET O=-34 

21833 GaToO 1282 

S528 IF PEEK (F433: =PEEK {(P-i: F 
HEN LET O=-32 

SR21 IF PEEK F333} AND D=32 THE 
GE DO =-3ł4 

2522 IF PEEK (P-1i? AHD DOD=32 FHEN 


e) 


LET D=2324 
3736 GOTO 128 
964@ IF PEEK 
HEN LET O=-34 
2341 IF PEEK 
T O=-32 


{P3333 =PEEK (P41) F 
AND O=04 THE 
RAND O-=34 THEN 


(P2222 


tP4+322 


Unvader 
M. Hampson 


You have all played various kinds of 
invader in which the ships are streaking 
in from above your base and you must 
defend yourself. Usually you are greatly 
outnumbered by a fleet of ships. 

Have you ever wanted to be on the 
other side? Now you have that opportu- 
nity. “Unvader” lets you play the game 
from the other side. You are the attacker 
coming in from the top of the screen, 
and the ZX81 is trying to shoot you 
down. 

Your mission is to land your ship 
safely on the hostile planet’s surface. To 
do this you must dodge the shots aimed 
at you as you descend. Use the 5 key and 
the 8 key to move left or right and the 6 
key to descend. 

This program sets up the graphics for 
your ship, the ZX81’s firing base, and 
the missiles can be seen. A hit on your 
ship is shown graphically. 

Graphics line notes: 

150: E ES Ry Ry 1,6 W, 4, 


210: 5 

1@ LET P=15 

20 LET a=1 

30 LET R=P 

4@ L c=8 

5@ LEF B-C 
11@ LET R=R+5G6N (P-R? (RND>?.S? 
120 LET P=P+(INKEY$="8")} # (P7029 

}-t(INKEY E= Sra PA 

130 LET @=0+ (INKEY$="6") 

1490 S5 { 
S59 PRINT AT @,.°; ‘WARE; TRe P; 
a : ppoe Sas AF 21., R; e m 

158 019 THEN GOFO 30% 

i70 PRINT ar C Buon 

130 C=C -1 


c,8; 

{PEEK 169098+256% 
re Kta AND Kois THEN GOT 
210 PRINT “3” 


220 GOTO 188 
300 PRINT AF I0, 18; “2+5UICCESS ++ 


STOP 
48@@ PRINT AT O+2,P-2; "2B00NHs" 


Draw and Store 


James John Hollandsworth 


Draw and Store not only allows you 
to draw a picture, but also to store your 
picture on tape for later use. When you 
have entered the program(or LOADed 
it), type in GOTO 1 and ENTER. The 
computer will ask if you want to draw 
the picture it has stored to be put on the 
screen or to erase and start a new 
picture. 

The direction keys are used to move 
the pixel around. Holding the shift key 
down while pressing the keys leaves a 
trail. 

When you want ot save a picture, hit 
ENTER and the display file will be 
PEEKed and put into a character array. 
SAVE the program and its array on 
tape. When you LOAD the tape later, 
you can also easily substitute your favor- 
ite drawing routine for the drawing rou- 
tine section of the program. 


James John Hollandsworth, Box 163, Montcoal, WV 


25139; 


ZX81 


orpery ENTERTAINMENT PROGRAMS. 


CK161 SNAKEBITE 


Program notes: 
1-80: The drawing routine. 
505-550: Loads the array with the 
contents of the display file. 
600-750: Reconstructs the picture 
from the character array. 


2K RAM 
2 REM «JJH 1-31-52 
2 REM USE GOTO 1 
5 GoTo Saa 
18 LET Y=@ 
1S L X= 
20 PLOT XxX,Y 
25 PAUSE 40 
30 POKE 165437, 255 
3S LET R=CODE IN y 
42 IF A=118 THEN TO See 
SS IF A<1@@ THEN UNPLOT X,Y : 
ET X=X?1z2(R=36 OR A=115) #: 
X<639) -1% (R=33 OR R=114)} 4(X>Q) 
ET Y=¥Y+isetA=35 OR AB=112)} 4: 
R =2i3) + fY>@) 


SQ@S FOR R=1i TO 22 
510 FOR B=1 FQ 32 
529 LET ASfR,B)} =CHRS PEEK ( (PEE 
Beet er ss IPEER 216397) +332 (R- 


3 

@ STOP 

@ PRINT “SK ROM DRAW A PICTUR 
Ə PRINT “NEW PICTURE? Y OR N” 
ə INPUT D$ 

540 IF D$="N" THEN GOTO 720 

S0 DIM Ag(22,32) 


GLEVA computer ware 


MACHINE LANGUAGE PROGRAMS 
CK165 ASSEMBLER 


Number Nine 


Jon Passler 


The object of Number Nine is to over- 
write the digits O to 9 in order without 
recrossing your path or exceeding the 
boundaries of the playing area. 

Enter line 1. Note that keywords are 
used to save memory. Do not type them 
in letter by letter. First enter 1 PAUSE, 
backspace, enter UNPLOT, and back- 
Space agains, and enter REM. Proceed 
to enter the rest of the characters shown 
in the line. 

Graphic line notes: 

1: T, A, and 3. 
21: graphics space. 
31: A. 

After entering the program, enter in 

the immediate mode, i.e., without a line 


number: 
LET R=16514 
LET B=156 
LET C=165 
LET S=15 
LET OA? 


LET K=1+PEEK 16396+256* 
PEEK 16397 

K will have to be reinitialized if any 

changes are made in the length of the 


Jon Passler, 344 Cabot St., Beverly, MA 01915. 


TS1000 


Eat the snake before it eats you. 
Variable speed. Create your 
own hazards. 


Demanding game of ery 
strategy that can be played by 1 
to 4 players. 


CK162 STARSHIP TROJAN Pit your wits against the dan- 


PRINCESS OF 
KRAAL 


CK163 STARTRACK 


FUNGALOIDS 


CK164 CRAZY-CARDS 


CUBE 


gers of outer-space and try to 
save your damaged space-craft. 


Face the monsters hiding in the 
underground complex to find 
the treasure and save the Prin- 
cess. 


Use graphic photon torpedo 
attacks to kill off the highly 
mobile Klingons. 


Save civilization by bombing 
the ever-multiplying fungus. 
Beware— it fights back. 


Learning the rules does not 
seem to help. Totally addictive 
for cheats. 


Use your computer to solve the 
mysteries of the Rubik Cube. 


TWO GAMES FOR THE PRICE OF ONE (ONLY $9.95) 
All PROGRAMS 16K 


20 


2 pass assembler written especially for the ZX81/ 
TS1000 (16K). It is simply the best assembler avail- 
able for those who wish to write their own 
machine code programs. It is designed to run 
alone, or together with the dis-assembler, and/or 
the de-bugging program. These provide a system 
for writing, editing, checking and testing machine 
code programs that is second to none. . 


DIS-ASSEMBLER $9 
Allows you to read the ZX81/TS1000 ROM (16K) 
with the best dis-assembler program available. It is 
written specifically for Sinclair/Timex computers, 
and unlike some programs modified from Intel 
8080 dis-assemblers it gives full Z80 Mnemonics. 


DE-BUGGER $9.95 
Makes writing machine code programs easier. 
Works entirely in decimal. Therefore hexadecimal 
is not needed. (16K) 


Please send check or money order. NO CASH! 
New York Residents only add 81⁄4% Sales Tax. 
SHIPPING AND HANDLING 
Add $1.50 for first item and $.50 cents for each additional item. 
Name 
Address 
RV ee ee tS - State Zip 
Mail To: CLEVA Computer Ware 
P.O. Box 2736 
Brooklyn, N.Y. 11202 (212) 875-1207 


SYNC Magazine 


GE take the HARD WORK out of SOFTWARE 


a. 
RSME ED 


FROM COOK LABS — #1 IN CASSETTE SOFTWARE DUPLICATION 


e Translate and/or edit T/S or ZX-81 the fast, easy way. 
e Save 75% or more of valuable programming time. 


RAM-to-RAM dialogue shuttles back and forth at machine 
speed — faster than disc. 


e Meet the huge oncoming T/S software market by: 
1) translating Level II libraries automatically; 


2) writing and editing in either Level II or 
Sinclair Basic on a conventional keyboard. 


The TransCoder I comprises a combination of software and hardware. 
The hardware holds an 11-chip board that plugs directly into the expansion 
port of a R/S Model I or Model III (32K min. ). The several K bytes of machine 
software reside in R/S high memory. 


The excellent editing facilities of the host R/S computer directly apply to 
editing of T/S Basic programs because the T/S Basic listing will appear on the 
screen of the R/S monitor. 


Translation of Level II Basic program listings into T/S Basic is accom- 
plished and displayed through software on command, with directly untrans- 
latable statements flagged for the programmer’s attention. Programs can then 
be shuttled to T/S for final debugging and to check displays on the T/S screen. 


Communication between the Radio Shack and the Timex/Sinclair oper- 
ates in either direction and is non-destructive of the sending source. When com- 
pleted, programs in T/S Basic can be filed on R/S disc or tape for safety and 
convenient reference. 


The complete TransCoder I package — hardware, software, manual — is 
priced at only $490,* and will be available in early October. Orders will be filled 
in sequence as received. Please write or phone if you need more information. 


*Subject to change without notice. 


COOK LABORATORIES, INC. 
P.O. Box 529 
Norwalk, CT 06856 (Phone 203-853-3641) 


O Send TransCoder I to address 


given at right. I enclose check COMPANY. 
or M.O. for $500 which includes 
$10 for handling & shipping (Conn. ADDRESS 


residents please add sales tax). 


O Send information about COOK 
software duplication services. 


geet ce te eG a ee oe ee 


COOK So 


program. Once the variables have been 
entered, (do not enter) CLEAR or RUN 
or they will be erased. Use GOTO 1 to 
“run” the program. 

Use the I, J, K, and M keys to move 
the flashing black character at print po- 
sition O,O. This is the character to use 
in overwriting the digits O to9, and it 
should alternate between being an in- 
verse space and an inverse representa- 
tion of the next digit to be overwritten. 
Before soc mak however, make sure all Sheldon Maloff, 102-432 Huntsville Cres., N.W., Cal- 
digits ) to 9 are on the gray field and that gary, Alberta, Canada T2K 5E1. 
none got overwritten by another. If you 
successfully overwrite O to 9 then you 


key and up the L key. You have 10 
chances to cross the screen. On each pas- 
sage you try to eliminate as many of the 
stars as possible. Upon each crossing, 
your score is updated to reflect how 
many stars you have eliminated and 
eight new stars appear. 
Graphics notes: 
2: inverse space 


1 OR Z=SEN PI TO VAL “256" 
will be rewarded with a W to indicate a a ath eae ohh OS Song 
è ac te 4 
win. If you are not successful, the pro- "256" SPEEK VAL ~26597" 
gram will end with a 0/35 error 6 LET R=VAL “iss" 
7 FOR T=SGN PI TO VAL “20" 
message. 8 FOR Z=SGN PI TO VAL “8" 
1 REM g@=Yl#: =NOT $4 UNPLOT YU» 9 LET X=RND#VAL “263"+SGN PI+t 
NOT t PRUSE TAN p 
3 RAND USRR | r (19 IT BEEK X=UAL "246" THEN GO 
= H To 
ne & PRINT AT RND#5+0,RND#5+0; CH Eliminator 11 BOKE x.VAL "351" 
9 NEXT A 13 FOR Z=SGN PI TO VAL "31" 
42 LET X=NOT PI Sheldon Maloff 14 IF PEEK (R+Z)=VAL “151"“ THE 
15 FOR A-B TO C N CS POKE RZ UAL “146 
z . . . . p + ar eo. 
17 PRINT AT X.Y; CHRS& A In Eliminator the object is to maneu 46 POKE R+Z,UAL “128" 
a eee ne SENKEY § $. ver your spaceship to eliminate as many vats? IF TNKEY f="A" THEN LET R=R+ 
Toeg, gr TEST an ze: “M" THEN GC stars as possible by running over them. EA R2ZVAL ` '264“+P THEN LET 
25 LET X=X+iI$=“M")-(I$=“I"?) indi 19 IF INKEY¢="L“ THEN LET R=F- 
aS ter Pap ESS IERE y ine asterisk. Your ahip'e view screen “Be $F cap THEN LET Rentun “a 
=K+X¥21+ 3 = 
o Sigth PEEK TICOSE "m" THEN eor Wi display a constellation of eight stars. °' 2a NEXT 2 
33 IF PEEK L=A THEN NEXT A ca lei dati 8 ; 22 PRINT AT SGN PI.SGN PIiS 
35 IF @>C THEN POKE L.cope “w~ Your space ship is moved down by the A 23 NEXT T 


BBU ų—2 "= kans a RE NE Ue 


? or are postpaid in con peg 
| puting Baby BBU and BBU-1 use ex- Boner must bein U.S.c 
ad or power supply gets knocked out rency. Send check, money order 
, preventing memory loss. international M.O. only. 


NCLIARE ... 


P.O. BOX 5177, EL MONTE, CA 91734 


KAYDE Electronic Systems 


ZX80/1 
ZX KEYBOARD WITH 
REPEAT KEY 


Fully cased keyboard ........ $75.90 
Uncased keyboard....... ...-. $55.90 
Keyboard Case................. $21.90 


This is a highly professional keyboard using executive buttons as found on top quality 
computers. It has a repeat key and comes complete in its own luxury case. This ts a 
genuine professional keyboard and should not be confused with toy keyboards currently 
available on the market 


KAYDE 16K RAM PACKS 


The 16K RAMPACK simply plugs straight into the user port at the rear of your computer. It is fully 
compatible with all accessories and needs no extra power and therefore it will run quite happily on your 
Sinclair power supply. It does not over-heat and will not lose memory at all. As you may know, some 
makes go down to 11K after being on for a while. 


This 16K RAMPACK ts very stable and will not wobble or cause you to lose your programme. It comes 
fully built and tested with a complete money-back Guarantee. 


KAYDE FLEXIBLE RIBBON CONNECTOR 


Stops movement of RAM PACK and other accessories 
(Not needed with a KAYDE RAMPACK) $2 r 


3 > 

KAYDE 4K GRAPHICS BOARD Vy 

The KAYDE Graphics Board ıs probably our best accessory yet. It fits neatly inside your ZX81. It 

comes complete with a pre-programmed 2K Graphics ROM. This will give nearly 450 extra graphics 

and with the inverse makes a total of over nine hundred. 359 

The KAYDE Graphics Board has facilities for either 2K of RAM (for user definable graphics), 4K of ROM “90 
or our 4K Tool Kit Chips that will be available shortly. All the graphics are completely software 

controlled, therefore they can be written into your programmes. Here are a few examples: A full set of 

space invaders — Puckman — Bullets, Bombs — Tanks — Laser Bases and Alien Ships. 

NO EXTRA POWER NEEDED 


KAYDE 16K GRAPHICS BOARD SOFTWARE 


$ Í PECKMAN: The only true ZX version of the popular arcade game. $ 
Centipede: “In all | think this is the best presented moving graphics program I've yet seen.” Phil Garratt, 7 7 9 
Interface. f O 


SPACE INVADERS: The best version available anywhere. Graphics software can only be used with a graphics board 


KAYDE 16K 81 SOFTWARE 


Centipede: ‘‘In all | think this is the best presented moving graphics program I've yet seen.” Phil Garratt, 87, 
Interface. -90 
3D/3D Labyrinth: A Cubit Maze that has corridors which may go left, right, up, down. Peckman (the 

latest addition in 81 games). 


WHY WAIT TO PAY MORE — oer mee 3 pear aes: ee RES fae sat key $75.90 SIGE. 
ease send me ...................... re : 

FAST, IMMEDIATE DELIVERY : _ Please send sin Srta SaNa RAS TASK PARANNA $59.90 each 
i i Pi + S.C oe eh ne ee Flexible ribbo nect : h 

Post to: Dept SY-3 l peasan a graphie bons SD l 

Kayde Electronic Systems Ltd i Please send me ....................... 16K graphics board software $11.90 each i 
The Conae Please send me .......... ec eeeeeeeeeeeeeeeeeeeseneees 16K 81 software $11.90 each 

9 i | enclose | 

Great Yarmouth l i | 

Norfolk NR30 1PJ ENGLAND ue 

Tal: 0493 57867 (Dept. SY1) sii i 

l i 

Please pay by i ; 

i | money order or certified 
anette Rei miad Tie delivery. i Please add $5 p&p for all hardware and $2 for all software. Please make l 


cheques payable to Kayde Electronic Systems Ltd. 


LEE, RE D ti ERNE Tae Sem 


G 


CONVERT YOUR ZX.. 


FULLER MICRO SYSTEMS ADD STYLE, POWER, VERSATILITY 


AND FULL TYPEWRITER KEYBOARD OPERATION TO 


AMAZING 2X81 COMPUTER! 


THE FULLER FD42 SYSTEM 
The ideal Christmas Gift for 
ZX81 users. 


If you already are the proud owner of the fastest selling small computer i 
the U.S., or maybe have a friend or member of the family who’s a ZX 


fanatic, what better buy is there this Christmas than the famous Fuller FD42% 
System! It converts your ZX81 into a sturdy, attractive and professional unit, 4 


with full sized typewriter keyboard. All the Sinclair 
ZX81 keys are duplicated with extra shift and 
new line keys. The professional momentary 
action key switches have a guaranteed life 
of 10° operations, and the whole unit 
comes to you complete with a money 

back guarantee. 

IT’S EVEN CHEAPER IN 
KIT FORM! 

FD 42 keyboard and case kit. 


6 FY +$6 p&p. 
FD 42 keyboard kit 


$37 % +54 pap. | 


IT’S SO EASY 
TO INSTALL! 


You simply unscrew the ZX 
printed circuit board from 
its base, screw it into the 
the new FD case, and 
plug in the keyboard. No 
soldering or technical 
knowledge required. 


ZX81 MOTHERBOARD 


Also easy to install! The FD system Motherboard fits 
inside the Fuller case and allows expansion to the ZX 


memory and 1/0 facilities 
2 slot B3O-9 + 54 pap. 
3 slot 39-95 + $4 pap. 


NEW! — Programmable Sound 
Generator - adds exciting new 


sounds to the ZX81 range $39 +$4p&p. 
Separate P.S.U. 9 volts @ 2 amps $14.9 +$4 p&p. 
Plug Planner- complete with 3 metres np 

of cable and power jack $36 + $6 p&p. 


Ram Adaptor Board - adapts Sinclair RAM 
pack to fit inside Fuller case 


$1995 +$4 p&p. 
MICRO 
SYSTEMS 


Mail to: FULL MICRO SYSTEMS, 
The ZX Centre, Sweeting Street, Liverpool 2. 
England U.K. Telephone: 051-236 6109 


rar ezawae , fe Turn your ZX81 Pi 
ed 7 from this to this 


PIIA 


7 


for... 
FULLER MEMORY EXPANSION 


a massive boost for your ZX81! 
The basic ZX81 has only 1k of RAM - now you can 
add on an enormous 16 or 64k with our FD Memory 


Modules. 9.95 


FD16k 
+$4 p&p. 
TR $59. 
FD16k to fit inside Fuller case 
+$4 p&p. 
S 1 .95 
FD64k Memory Module 
+$4p&p 


ee 


lease supply the following items: 


| i 


AD CODE | 


Mail to FULLER MICRO SYSTEMS, 
The ZX Centre, Sweeting Street, Liverpool 2. 
England U.K. 


Name 


Fuller FD 16K. Memory Module fees 


Address 
City /State/Zip 


t US Dollars 
” m © fF fF Ff fF Ff Feo 


Introduction 

Have you ever wished for an easier 
way to create graphics displays on your 
_ Sinclair computer? You can always use a 
line drawing program and a table of coor- 
dinates, but setting up the table can be 
tedious. The LOGO language, developed 
by the artificial intelligence group at MIT, 
has a graphics system called Turtle 
Graphics which might make your wish 
come true. 

Turtle Graphics is named for the 
“turtle” robot originally used to draw the 
figures. It was equipped with a pen in 
addition to motors to move it. When 
graphics displays became economically 
and technically feasible, they were used. 
Since this system offers some interesting 
graphics possibilities, I decided to see how 
it might be done on the Sinclair 
computers. 3 

Let us begin by imagining our turtle 
and assign four attributes to it: an x posi- 
tion, a y position, an angle (in degrees), 
and a pen up or down (see Table 1). We 
will guide our turtle by using five com- 
mands. FORWARD n moves the turtle n 
spaces forward in the direction of the 
angle it is pointing. RIGHT n and LEFT 
n change the direction that the turtle is 
facing n degrees, but do not move it. UP 
and DOWN move the “pen” into a draw 
or no-draw condition. 


Implementing Turtle Graphics 

The first problem in implementing Tur- 
tle Graphics on a Timex/Sinclair com- 
puter is determining the new x and y 
coordinates after a FORWARD n com- 
mand. The RIGHT n and LEFT n com- 
mands are easy. All that we have to do is 
add or subtract the n values from the 
turtle angle. The UP and DOWN com- 
mands are even easier because executing 
them consists of changing a flag. 


Morgan Woodson, 39 Winter St., Wakefield, RI 


02879. 


November/December 1982 


8K ROM 
2K RAM 


Turtle Graphics 


Morgan Woodson 


To figure out how to move the turtle, I 
drew a right triangle with the distance to 
travel forward as the hypotenuse (see 
Figure 1). This requires some simple trig- 
onometry (see Figure 2). The new x coor- 
dinate was the old one plus the cosine of 
the turtle angle times the distance to 
travel. The y coordinate uses the same 
formula except that the sine of the turtle 
angle is used. 

The next step was to write the program. 
I put it in the form of a subroutine to 
make it more convenient to use. The 
commands are stored in a string variable 
(A$) before calling the turtle routine. The 


graphics commands are reduced to single 
letters to simplify the string splitting part 
of the subroutine (see Table 2). 

Connecting the new point to the old 
was initially done by means of a line 
drawing subroutine from the ZX81 
manual. Since the ZX81 uses radians 
instead of degrees, the degrees have to be 
changed to radians. At first I made the 
change when the RIGHT and LEFT com- 
mands were executed; however, to save 
memory, I changed to program so that 
the turtle angle was in degrees and not 
changed to radians until the FORWARD 
command was executed. 


Variable 
A$ 
B$ 


Table 1. List of Variables and Functions. 


Function 
Turtle Graphics commands and arguments. 
Current command 
Turtle x coordinate 
Turtle y coordinate 


Tokai- io imis k aE. 


Turtle angle in degrees 

Turtle pen condition 

Loop variable and position of next command in A$ 
Argument for Turtle command 

Turtle angle in radians 

Another loop variable 

Cosine of Turtle angle 

Sine of Turtle angle. 


Table 2. List of Commands and Functions. 


Command Abbreviation 
FORWARD n Fn 
RIGHT n Rn 
LEFT n Ln 
UP n Un 
DOWN n Dn 


Function 


Moves Turtle forward n spaces 

Turns Turtle right n degrees 

Turns Turtle left n degrees 

Makes Turtle not draw (argument has no effect) 
Makes Turtle draw (argument has no effect) 


23 


Then when the program worked, I 
removed the line drawing routine. Instead 
of moving the whole distance in one jump 
and drawing a line between points, the 
program moves one unit at a time and 
plots each point. This produces the same 
effect, but it is much shorter. 

The last change requires an argument 
for UP and DOWN to simplify the string 
splitting routine. The argument has no 
effect. 


The driver routine (see Listing 1) sets 
up the initial position, heading, and pen 
position of the turtle, gets a command 
line and executes it, then gets another 
command line. To exit this routine, type 
ENTER (with no command) to get an 
error. 

The subroutine has the following main 
steps: 1) it puts the first command of the 
command line into another string; 2) it 
searches for the next command and puts 


Figure 1. Turtle Triangle. 


Turtle Angle 
Old (x,y) 


x distance 
Adjacent side 


New (x,y) 


y distance 
Opposite side 


Figure 2. Computations. 


DY Vertical distance to travel (unknown) 

DX Horizontal distance to travel (unknown) 

D Distance to travel (known) 

A Turtle angle (known) 

X Turtle X coordinate (known) 

Y Turtle Y coordinate (known) 

New X Turtle X coordinate after movement (unknown) 


New Y 


To find the horizontal distance: 


Cos A= Adjacent 


Hypotenuse 
C A= DX 
Os 5 
Cos A*D=DX 


To find the vertical distance: 


Cia aes Opposite 
Hypotenuse 


Turtle Y coordinate after movement (unknown) 


; ae, Db 
Sin A D 
Sin A*D=DY 


To find the new x and y coordinates: 


New X=X DX 
New X=X Cos A*D 
New Y=Y DY 
New Y=Y Sin A*D 


26 


the argument into the variable “D”; 3) it 
executes the command by going to the 
FORWARD routine (line 600) or chang- 
ing a variable; 4) the command and argu- 
ment just executed are deleted and, if 
there is more on the line, it is executed. 
The FORWARD routine first converts 
the turtle angle from degrees to radians. 
Next the cosine and sine of the angle are 
calculated. Originally, they were in the 
loop that draws the path of the turtle. 
Putting them before the loop greatly re- 


duced computing time. The loop finds 
the new x and y coordinates and plots 


them if the “pen” is down. Lastly, the 
routine jumps to the part of the turtle 
subroutine that decides whether to 
RETURN or continue executing turtle 
commands. 


Using the Program 

To use the program, type both parts in. 
Then hit RUN and ENTER. The screen 
will be blank except for a cursor waiting 
for a string. Type “F10” and ENTER. 
The screen will go blank and then reap- 
pear with a line from the center of the 
screen toward the right edge of the 
screen. This is because the turtle was 
facing to the right and you instructed it to 
move forward 10 spaces in that direction. 
Now type “R90 F10”. This time another 
line will appear, perpendicular to the first 
line. The turtle has made a right turn and 
has gone forward again. Now type “R90 
F10 R90 F10”. A square will now appear 
on the screen. This repetition of turning 
and moving can produce all kinds of 
polygons easily. Going right 144 degrees 
and forward 10 spaces five times will 
produce a five point star. 

You can continue to play around with 
turtle graphics using the driver program 
supplied, or you can use the subroutine in 
your programs to produce more complex 
figures. 


Listing 1. Turtle Graphics Driver. 


4 REM TURTEE GRAPHICS DRIVER 
2 LET P21 


59 GOTO 30 


—— Listing 2. Turtle Graphics Subroutine. 


S500 REM TURTLE GRAPHICS SUBROUT 


{EXT 
S60 LET D=VAL AG(2 TO I-1} 
565 IF 64="F" THEN GoTo 6ee 
S67 IF B$="U" THEN LET P=@ 
“RS THEN LET A=R-D 


THEN LET P1 
THEN LET A=A+D 


580 IF 6$="L" 

535 LET. AS=AHStI+1 FO ? 
>90 IF AS="" THEN t 
S95 GOTO See 

680 LET R=A25S7.296 
662 LET C=C0S R 

605 LET S=SIN R 


63@ LET Y=¥Y+S 
640 IF P THEN PLOT X,Y 


i | NEXT J 
668 GOTO S85 


SYNC Magazine 


QSAVE 


THE FAST ONE 


All ZX81 owners can now load/save a full 16K in only 29 seconds with the incredible QSAVE hardware/software 
combination package from PSS. EARPHONE SOCKET 


Just look at these features: 

1. No hardware modifications are needed 

2. No extra power supply is needed 

3. QSAVE is compatible with your existing tape recorder 

4. QSAVE includes a verify feature to ensure successful saving 
5. No more wasted time waiting for programs to load or save 


MOST IMPORTANT OF ALL—QSAVE IS EASY TO USE—SIMPLY PLUG THE QSAVE AMPLIFIER/FILTER UNIT 
BETWEEN YOUR RECORDER AND THE ZX81 (all leads are supplied) — THEN LOAD THE QSAVE SOFTWARE 
BEFORE YOU LOAD A TAPE OR KEY IN A PROGRAM. YOU CAN NOW SAVE AND RELOAD A FULL 16K IN 
ONLY 29 SECONDS — ie. A DATA TRANSFER RATE OF 4000+ BAUD COMPARED WITH ONLY 250 o ON THE 
STANDARD ZX81. 

16K/64K VERSION — Please state version when ordering 


REVOLUTIONIZE YOUR PROGRAMMING NOW FOR THE ALL INCLUSIVE PRICE OF ONLY $37.50. 


M CODER 


EVER WANTED TO WRITE MACHINE CODE PROGRAMS? NOW YOU CAN 
THE FIRST REAL MACHINE CODE COMPILER FOR THE ZX81 


SIMPLY WRITE YOUR PROGRAM IN BASIC (OR LOAD AN EXISTING PROGRAM), PRESS A KEY AND M 
CODER WILL AUTOMATICALLY COMPILE IT INTO MACHINE CODE. 


M CODER HANDLES 99.9% OF ALL BASIC 
ONCE USED YOU’LL NEVER WRITE BASIC PROGRAMS AGAIN 
GIVE ALL YOUR PROGRAMS THAT SUPER-FAST PROFESSIONAL LOOK WITH M CODER 


BUY M CODER NOW AND REVOLUTIONIZE YOUR PROGRAMMING FOR THE ALL INCLUSIVE PRICE OF 
ONLY £7.95 


E d ; hy Send check or money order to: $ | 

ver wanted to write mac ine code p S S Pòrsonal Salwars Servicos i 
programs? Now you can. The First real i 482 Stoney Stanton Rd. | 
machine code compiler for the ZX81 Coventry CV6 5FE U.K. | 
Telephone Coventry (0203) 667556 i 
Name | 
i l 
| Address 

| | 
a a T AEL E eee ee tee eee j 


Now available in the US. at the 
incredible orice of only $119.95 (£62.95) 


ACTUAL SZE 3 x 


Re 


Ry St Ran, ; 


THE 64K RAM PACK 


@ Fully built, tested and guaranteed. The use of this memory is as follows:- 
® No additional power supply required. _0— 8K _ Sinclair ROM 


@ Black plastic case no larger than 16K 8 — 16K RAM that is unaffected by 
RAM PACK. NEW, LOAD, SAVE and can 
be used for storing machine 
code routines. 
16 — 32K BASIC Code, Display file, 
Variables, Machine Code 
32 — 64K Variables 


@ No wobble problems 
@® Fully compatible with printer etc. 


O 16K RAM PACK at only $49.95 (£29.95) 

NERE) including FREE ALIEN ATTACK (7K -M/code) — value $11.00 (£5.75) 
As reviewed in ‘Your Computer’ — (March 1982) the leading 

U.K. Sinclair Publication. Almost 10.000 units sold in the U.K. so far. 


THE ‘NO FRILLS’ ECONO TECH 16K RAM PACK ONLY $39.95 (£20.95) 
We believe the Econo Tech is the lowest priced 16K RAM available anywhere. 
No frills - just a reliable and economical way to expand your ZX81. 

AS VENS in ZX Computing’ August/Sept 1982, the new U.K. 

ZX computer publication. Available ONLY from JRS. 


pvAilh 


PLEASE NOTE: All prices are fully inclusive and are applicable for export , including airmail postage. Payment may be made in AES 
(Money Order available at your bank) or your own U.S. $ cheque, made payable to JRS SOFTWARE. 


Despatch normally 7 days from receipt of order 


19 WAYSIDE AVENUE, WORTHING, SUSSEX, ENGLAND, BN 13 3JU Telephone: (0903) 65691 


Curve-plotting Graphics 


Richard Booth 


Curve-plotting has many applications. 
For example, an oscilloscope is a curve- 
plotting device which allows the user to 
view time-varying voltages. This article 
presents a program which allows the 
Timex/Sinclair computers to be used as 
curve-plotting devices. The common rep- 
resentations of curves possible with this 

_ program include the following: Cartesian, 
Cartesian Parametric, polar, and polar 
parametric. An example of a polar plot 
would be the radiation pattern of an 
antenna. The program requires the 8K 
ROM and makes use of pixel graphics. 


An Introduction to Curves 

A plane curve is a two-dimensional path 
or set of points. Plane curves are found in 
such everyday places as the path followed 


by an ant on the kitchen floor or a maga- 
zine article on inflation. They can also be 
found in special places such as an oscillo- 
scope trace or the spirals of a sunflower. 

A plane curve can be described mathe- 
matically in various ways. A description 
which is adquate must be useful for the 
particular application at hand. For 
example, if the application is target shoot- 
ing, it is only necessary to know whether 
a given trajectory passes through the 
bull’s-eye. Since the application addressed 
in this article is curve-plotting using the 
ZX81, an adequate description would tell 
which pixels the curve passes through. 


4K ROM 
1K RAM 


This description will be used to construct 
a display file which in turn will be used to 
display the plot of the curve. 

Many curves can be described most 
concisely by the use of one or more 
equations. The equations can then be 
used to generate points of the curve. The 
curve-plotting program in this article op- 
erates by creating levels of descriptions 
of the curve as shown in Figure 1. 

A point is located with respect to some 
reference system. There are no require- 
ments upon the position or scale of the 
reference system itself so a convenient 
location and scale may be chosen. A 
Cartesian reference system is an X-Y axis. 
A polar reference system is a ray. In the 
Cartesian reference system a point is de- 
scribed by the coordinates (X,Y) of X 


Figure 1. Levels of curve descriptions generated by curve-plotting program. 


CART. : CART.PARA. 


Cartesian Coords (X,Y) 
Pixel Coords 
Display File 


Richard Booth, 12875 Highland Rd., Highland, 
MD 20777. 


November/December 1982 


Polar Coords (R, ©) 


~—a— User input 


Sweep 


—<“@— independent 


variable 


Polar to 
Cartesian 
conversion 


-A Roundoff, 
scaling 


<eg— Plot command 


Internal 
monitor 
subroutine 


29 


and Y intercepts. In a polar reference 
system, a point is described by the coor- 
dinates (R, © )where R is the length of 
the line segment between the base of the 
ray to the point and © (theta) is the angle 
between the line segment and the ray. 
Figure 2 shows the plot of a curve con- 
taining the point 
(Rp OP) 


The positive X-axis of a Cartesian refer- 
ence system coincides with the polar ref- 
erence system. In this Cartesian reference 
system the point is described by 


(Xp Yi eee ee cos@,,R ,sinOp ) 


The curve-plotting program converts 
polar coordinates to Cartesian coordi- 
nates in this way to make use of the pixel 
graphics. 

The methods used by the program to 
generate point coordinates make use of 
functional equations. A functional equa- 
tion is one which evaluates some variable 
uniquely when the independent variable 
is given. This is expressed 


Vi tS) 


where Vp is the dependent variable and 
Vyis the independent variable. 

The four approaches are best summar- 
ized in tabular form. See Figure 3. 

To generate point coordiates, the inde- 


pendent variable is swept through a range 
of values and coordinates are calculated 
for values in the range. 

Each type of description has its own 
advantages. For example, to generate a 
plot of a circle would take two sweeps of 
the independent variable using the 
Cartesian method, but only one sweep 
using the Cartesian parametric or polar 
methods. 


Program Description 

The program is listed in Figure 4. Lines 
10-220 are used to input equations, plot- 
ting window, etc. Lines 220-350 generate 
the plot. Note that expressions are entered 
as string variables so that no program 
lines need to be changed for different 
plottings. 

Also note in line 340 how points are 
scaled to pixel coordinates. Lines 300-330 
remove points which are outside the plot- 
ting window. 

Line 230 provides for 200 iterations of 
the FOR-NEXT loop. The number of 
iterations can, of course, be changed 
when necessary. 


Figure 2. Cartesian and polar representations of a point. 


30 


Program Use 

The program first prompts the user with 
“CART., CART.PARA., POLAR, OR 
POLAR PARA.? (1,2,3, OR 4)”. Enter 
the number corresponding to the plot you 
want. For example, for Cartesian plots, 
enter 1. Next, a plotting window is 
entered. This is the expected region which 
will be covered in Cartesian space. See 
Figure 5. 

If CART.PARA., POLAR, or POLAR 
PARA. was selected, a range must be 
entered for the parameter T or for theta, 
for example, an expression like PI/2. - 

When entering expressions for X, Y, R 
or theta, be sure to use expressions of the 
appropriate independent variable: For 
Cartesian plots use X; for all the others 
use T. Be careful when using expressions 
involving powers, since powers of nega- 
tive numbers are not valid on the 
ZX80/81. For example, when X is nega- 
tive, use X*X instead of X**2. 


Sample Curves 

To illustrate the program, several inter- 
esting curves may be used. Two examples 
of each of the following types are given. 
The reader can get further variety by 
changing the constants. Many more exam- 
ples of curves can be found in A Catalog 
of Special Plane Curves by J. Dennis 
Lawrence (Dover Publications, 1972). 


—— Figure 4. Curve-plotting program listing. —_ 


20 PRINT “CART... CART. PARA < 
POLAR * DR POr_ARR PRRR . +? { 2 = = 3 — 2 
Raye S 

50 INL: 


10 PRINT “PLOTTING WINDOW: ` 


S@ PRINT INPUT XMIN.XMAX.YMI 
N.YMAX* 
@ INPUT & 
70 INPUT E 
S50 INGUT C 
90 INPUT D 
100 LET E=& 
TIO ECET = 
120 I =ł1 THERN GOTO 200 


Eoee 
1350 PRINT 
2140 PRINT 
INPUT 
INPUT 
17QO IF Z=% THEN GOTO 200 
eee ia INPUT XxX-THETA EXPRE 


INPUT AG 
„200 PRINT “ INPUT Y-rR EXPESSION 


INPUT EF 
CLS 


230 FOR T=E TO F STEP 


“PRRAMETER-THETA RANS 
INPUT MIN., HAX" 


“ET 


(F-E?) «320m 
=4 THEN LET X=UR 


= 
260 LET Y=Ueat BE 
F 2:3 THEN GOTO 300 


eo GEL OY = s2S thu 

300 IF *<8& THEN LET x=A 

310 IF X26 THEN LET X26 

wee TE <0 HEN LET YC 

veo IF VW >D. THEN EET y= 

S40 PLOT iX-f) 69+ B-A). O-O? #4 
@-(DB-C3} 


350 NEXT T 


SYNC Magazine 


Make Your Sinclair 


Work Harder, Better... 


with quality, affordable and dependable 


peripherals from CAI. 


The Interface 


The CAI/ O Board® plugs into the 
computer’s expansion port and is the 
interface that lets your computer 
communicate with the outside world. 

There is a serial RS-232 compatible I/ O 
port, 3 parallel I/ O ports used to design 
circuits to control home lights, power 
relays and additional ports to accept 
printer, mass storage device and memory 


expansion. 
$7095 $4,095 

19 when 6922. purchased 
with CAI peripherals 


purchased separately 


The Printer 


New! The CAI/ P40 prints the complete 
library of regular and inverse alpha-numerics 
and graphics in 40-column width. Three 
user-addressable modes print in regular or 
enhanced (double type size): List program 
from memory, print text or data from 
program, print screen 
$ 95 complete stand alone printer. (can 

139 be upgraded to use with other CAI 
peripherals) 
$ 1 1 Q5 requires CAI/0 Board for complete 
compatibility with other CAI 
peripherals 
è 
Mass Storage Device 

CAI introduces the Stringy Floppy® for 
the Sinclair or Timex Sinclair. It has the 
speed of a disc drive at a fraction of the 
price. Data is stored on an inexpensive 
continuous loop magnetic tape cassette. 
This device inputs and outputs data at an 
incredible 14,000 baud- - 56 times faster 
than Sinclair cassette recorder interface. 

The system is designed to accommodate 
two Stringy Floppy drives for even more 
versatility. 
$109 per drive 
Requires CAI/O Board 


Computer Network 
Package 


This package consists of ASCII 
conversion program, phone modem, 
connecting cable. Now you can 
communicate with large main frame 
computers, micro-and mini-computers and 
computer networking systems (The 
Source® ). 


$ 95 Note: Order this package when 
149 ordering your CAI/O Board. 


$24% for ASCII conversion program only 


Additional Peripherals 


Memopak® 64K memory expansion 


*159” 


Programs: 


H 95 M 
91495 Home in 


Tutorial 


sop 
Stocks 
Fe Bio Rhythms 


Why buy from CAI? 


All CAI peripherals come with 
complete instruction manuals, schematics 
and a 30-day unconditional replacement 
warranty. Each works with either the 
Sinclair ZX-80, ZX-81, MicroAce and 
Timex/ Sinclair 1000. 


Our technicians are happy to answer 
your questions before and after purchase. 


Wi 
$Q95 ae ei 


Qs: 233 Ea a a ee ee 


CAI Instruments, Inc. 
P.O. Box 2032 
Midland, MI 48640 


i 


Phone: (517) 687-7343 Office Hours: 9:00 a.m. — 4:30 p.m. 
Evening Hours (Technical Information) 6:00 p.m. — 8:30 p.m. 


x Orders accepted by phone or mail. For mail orders, send 


check, money order, VISA or MASTERCARD numbers. 
Foreign orders must be made in U.S. currency. 


Quantity 
ee ae 


ee 
Sl eS a 
Shipping and Handling 
4% Sales Tax (Michigan Resident Only) 
TOTAL 


CO Literature, enclose $1.00 

SHIPPING AND HANDLING CHARGES 
Within U.S. $5.00 Outside U.S. — F.O.B. 
Midland, MI 

MasterCard/ Visa 

Exp. Date 

Name 
Address 

Civ State 
Phone No. 


lp =- 


1. Lissajous Patterns. (See Figure 6.) 
a. General form: 
X=A*SIN(N*T+D) 
Y=B*SIN T 
b. This example: 


7. Eight Curve. 

a. General forms: 
THETA=ATN SIN T 
R=A*COS T*SQR (1+SIN T**2) 

b. This example: 


A=B=1; D=0; N=.75 A=2 

c. Program data: ENTER: c. Program data: ENTER: 
CART.PARA. 2 POLAR PARA. 4 
XMIN,XMAX,YMIN,YMAX -1,1,-1,1 XMIN,XMAX,YMIN,YMAX -2,2,-2,2 
PARAMETER RANGE -20,20 PARAMETER RANGE -PI,PI 
X EXPRESSION SIN (.75*T) THETA EXPRESSION ATN SIN T 
Y EXPRESSION SIN T R EXPRESSION 2*COS T*SQR (1+SIN T*SIN T) 
2. Astroid. (See Figure 7.) 8. Folium of Descartes. 

a. General form: a. General forms: 
X=4*A*(COS T)**3 THETA ATN T 
Y=4*A*(SIN T)**3 R=3*A*T*SQR (1+T**2)/(1+T**3) 

b. This example: b. This example: 
A=.25 A=5 

c. Program data: ENTER: c. Program data: ENTER: 
CART.PARA. 2 POLAR PARA. 4 
XMIN,XMAX,YMIN,YMAX  -1,1,-1,1 XMIN,XMAX,YMIN,YMAX _ -10,10,-10,10 
PARAMETER RANGE -PI,PI PARAMETER RANGE -5,5 
X EXPRESSION COS T*COS T*COS T THETA EXPRESSION ATN T 
Y EXPRESSION SIN T*SIN T*SIN T R EXPRESSION 15*T*SQR (1+T*T)/+T*T*T) 

9. Additional Examples: 

3. Limacon of Pascal. a. Polynomial (CART): 

a. General form: Y=AO+A1*X+A2*XK**2+4+ A 3* 
R=2*ACOS T+B X**34 + AN*K*#*N 

b. This example: b. Hypotrochoid (CART. PARA. ): 
A=B=1 X=N*COS T+H*COS (N*T/B) 

c. Program data: ENTER: Y=N*SIN T-H*SIN (N*T/B) 
POLAR | 3 c. Epitrochoid (CART.PARA. ): 
XMIN,XMAX,YMIN,YMAX  -.9,3,-2,2 X=N*COS T-H*COS (N*T/B) 
THETA RANGE -PI,PI Y=N*COS T-H*COS (N*T/B) 
R EXPRESSION 2*COS T+1 d. Archimedes’ Spiral (POLAR): 

R=A*T 

4. Rhodonea. (Figure 8.) e. Spirals (POLAR PARA.): 

a. General form: THETA=T**M 
R=A*COS (N*T) R=A*T 

b. This example: 
A=1; N=7 

c. Program data: ENTER: Figure 3. 
POLAR 3 
XMIN,XMAX,YMIN,YMAX -1,1,-1,1 
THETA RANGE -PI,PI 
R EXPRESSION COS (7*T) 

Method Independent (Coordinates Example 
Variable 

5. Serpentine. (Figure 9. 

a. General form: 
Y=X*B**2/(X**2+A**2) 
n A EN CARTESIAN (X,Y) = (X,£(X)) Y=X**2 (PARABOLA) 

c. Program data: ENTER: CARTESIAN (X,Y) = (£ (T)f,(T)) X=T (PARABOLA) 
CART. 1 PARAMETRIC 7 Y=T**2 
XMIN,XMAX,YMIN,YMAX  -10,10,~ 10,10 
PARAMETER RANGE POLAR THETA, or (R30) = (£(8),8) R=2*THETA (SPIRAL) 
Y EXPRESSION (X*36)/(X*X +4) 

POLAR 4 (R= (£,(T),£, (T) THETA=T (SPIRAL) 

6. Catenary. PARAMETIC L R=2*T 

a. General form: 
Y=A/2*(EXP(X/A)+EXP(-X/A)) 

b. This example: 
A=2 

c. Program data: ENTER: 
CART. 1 
XMIN,XMAX,YMIN,YMAX_ -5,5,0,20 
Y EXPRESSION EXP (X/2)+EXP (-X/2) 


32 


SYNC Magazine 


“Touch-A- Matic ”, Power 


At Your Finger Tips! 


KOPAK’S TOUCH-A-MATIC'™ gives you the power to type more accurately 
and much faster. It requires no wires, no soldering. Comes with complete 
instructions. It’s as easy as removing adhesive backing and pressing into 
position. Positioning is easy. Once in position, you are ready for touch- 

À typing with ease. 


Our unique vinyl-key-hold creation will guide your fingers to the correct 
keys. Finally, touch-typing now possible with your Sinclair* or Micro-Ace*. 


This remarkable product, as well as other KOPAK items, are now available. 
Call now to order through MC/Visa or send check/M.O. to Kopak Creations, 
Inc. 
TM Trademark of KOPAK Creations, Inc. KOPAK CREATIONS, INC. 


Sinclair* is a trademark of Sinclair* Research LTD. (212) 757-8698 
MicroAce* is a trademark of MicroAce* Master Charge & Visa Accepted 


$1.50 Handling Charge 


Dept. SY2 448 West 55th Street, New York, NY 10019 (212) 757-8698 


Figure 6. Lissajous Pattern. 


Figure 5. 
Y 


XMAX,YMAX 


=< > 


= SIN(T/2) 
SOSIN T 


Figure 7. Asteroid. 


XMIN,YMIN Y 


a) Plotting window. 


b) Resulting plot. : 


Ta 
2 
z 
= 


Memory Expansion at 
Unexpanded Prices 


16K Memory Expansion 


@ Simply plugs into your 
Timex/ Sinclair 1000 
@ Fully tested top quality products 
Price only $35.00 
64K Memory Expansion 
@ Plugs into your Timex/ Sinclair 1000 
© Fully tested top quality products 
@ 56K of directly addressable memory 
@ 2x 4K pages can be switched inor 


out for use with mapped memory 


peripherals Price only $110.00 


International money order or certified cheque inclusive of Postage and Packaging payable to Namal Associates 


Namal Associates 25 Gwydir Street, Cambridge, CB1 2LG ENGLAND Telephone: (0223) 355404 Telex: 817445 


r mm ee ee ee å ee å åM å å å å ee ee ee 
Please rush me (Quantity)...... 16K Memory Expansion@ $35.00 
i Please rush me (Quantity)... .... 64K Memory Expansion@ $110.00 g 
Add Postage and Packaging $4.50 | enclose $ .......cnnssessnerrrennn i 
i Name Signature i 
7 Address g 
S N/D, ME 
L E å å å å å å å åM å å å ee å å ee å åM ee å ee ee ee ‘a = 
34 SYNC Magazine 


Figure 8. Rhodonea. 


R=COS(7#) 


ADVENTURE 


VOYAGER |-Voyage thru time and space in this new 
fantasy game. In Voyager | you will travel to Sangrel to 
find the rare element Valium for new Energy Weapons. 
Voyager | includes: 


One key entry of commands 

Over 16 Billion Characters 

2 Sides of Adventure 16k each 
Graphic display of status 

Over 20 Encounters to deal with 
Quality C-20 Cassette 

Instructions Only $9.95 


You may use one of your own Characters from your 
favorite Role Playing Game if you wish or you may use 
one of over 16 billion Characters. 
******* VOYAGER II COMING SOON******* 
Saveable in progress 

Explorer l-You find a strange new world when you walk 
into a strange mist on your way home. This is a text 
adventure and is saveable in progress. $9.95 


Explorer Il-After a week back home once again you find 
yourself transported to a strange new world. Text ad- 
venture - Saveable in progress $9.95 
Send for catalog with 1k to 16k programs. Postage is 
included in price. All programs come on a Quality C-20 
Computer grade Cassette with instructions. 
Send to: Chris White 
789 S. Green Bay Road 
Lake Forest, IL. 60045 


November/December 1982 


Figure 9. Serpentine. 


Y 


9 


Add Sound to 
Your 2X81! 
Sounder circuit fits 
inside the ZX81/Timex 1000 
No cutting, 
soldering, 
or unsoldering. 
Circuit beeps when 
key inputs are 
accepted by the computer. 
send $12.00 per unit 
plus $2.00 postage 
and handling 
(N.J. Residents add 5% Sales Tax) 
to 


KML Incorporated 
P.O. Box 1147 
New Brunswick, N.J. 08903 


The Zedex Microfair 


Jim Beloff 


Quick! What are three ways you can 
tell you’re at a ZX Microfair in En- 
gland? Give Up? Well, for one, you will 
be seeing a lot of Sinclair Spectrums as 
well as ZX81s; two, you find yourself 
saying “ZEDEX”’ instead of ““ZEE-EX”’; 
and three, there is kidney pie and ale to 
be found in the exhibition hall cafeteria. 

Had you been in London’s Westmin- 
ster Exhibition Centre on August 21, 
1982, you might have seen, said, and 
tasted as I did. Sydney Rogers (Director 
of Marketing for Ahl Computing), Ha- 
zel Gordon (Creative Computing’s U.K. 
representative), and I were at the 
Microfair representing SYNC, and hap- 
pily succumbed to it all. 

Touted as the “largest single display 
of ZX products under one roof any- 
where,” this 4th ZX Microfair more 
than lived up to its reputation. Orga- 
nized by a rather jolly, beared Mike 
Johnston, the fair offered 80 tables 
worth of hardware, software, 
peripherals, books, etc. for the ZX81 
and Sinclair Spectrum. Enough, in fact, 
to make one wish the fair were two days 
long instead of one. 

If there were a lot of exhibitors at the 
fair, there were at least twenty times that 
many Sinclair owners. By 10 a.m. the 
line to get inside was two city blocks 
long, and by 11 a.m. getting through the 
aisles was like a game of MAZOGS (see 
below). 

None of this, however, could stop me 
from feeling absolutely amazed at the 
sheer number of products available for 
this little $99 microcomputer, and how 
many of those seemed to be creative 
technical achievements comparable to 
the Sinclair computers themselves. 
Wherever someone has found a limita- 
tion in the ZX81, someone else has been 
bound and determined to find an 
antidote. 

For example, loading a 16K program 
takes a few minutes. Right? Wrong! A 


36 


company called Personal Software Ser- 
vices in Coventry has invented QSAVE, 
which allows you to LOAD or SAVE 
16K in 29 seconds. Making sounds and 
music with your ZX81 is almost impos- 
sible. Right? Wrong again! David Ward 
at BI-PAK has the ZON X-81 sound 
unit which can: make a multitude of 
sound effects and gives eight full octaves 
of tones. A company called Macronics 
has an interface for a disk drive, Kayde, 
Fuller Micro, and DK’Tronics have full 
keyboards that the ZX81 fits inside, the 
Kempston Electronics has KLIK-KEY- 
BOARD that fits on the top of the mem- 
brane. JRS Software has a tripped down 
16K rampack for $39.95, and Sir Com- 
puters has an interface card that lets 
your ZX81 run a robotic arm. You can 
turn your ZX81 into a business comput- 
er with the Cobra 1000 business system, 
and Dean Electronics has a brand new 
ZX81 compatible printer. Memotech 
continues to add to its growing line of 


powerful MEMOPAKS and also dis- 
plays its own RS-232 Interface. 

If there were a lot of new hardware 
add-ons to be found at the Microfair, 
there were just as many new software 
packages. Mr. Wolfkamp from the 
Netherlands had a book/tape package 
full of high level programming tech- 


niques, including a graphics routine of a 


bicyclist that was marvelous. BUG- 
BYTE from Liverpool had a game called- 
MAZOGS that drew not only a crowd, 
but a very challenging maze as well. 
Fair-goers also had a “blast” watching 
Panda Software’s new game SEA 
WARS. | 

Add to all of these products for the 
ZX81 another raft of goodies for the Sin- 
clair Spectrum. QuickSilva had some 
outstanding full color games for the | 
Spectrum, SYNC’s own Martin Wren- 
Hilton had a book entitled Games to 
Play on Your ZX Spectrum published by 
Shiva. Almost every other exhibitor with 
ZX81 products had something available 
or “in the works” for the Spectrum. The 
combination of color, sound, and low 
price have made the Spectrum the hot- 
test microcomputer in England, and cer- 
tainly we will be looking forward to its 
coming to the U.S. 

Perhaps the nicest part of the fair was 
getting to know some of the exhibitors 
and fair-goers themselves. In general, 
enthusiasts are a fun bunch, if only for 
the fact that they are, well, enthusiastic, 
but Sinclair enthusiasts are special. 
Somehow the feeling of “they say it can’t. 
be done so let’s do it” type of ingenuity 
runs rampant throughout this group. 
Also, there seemed to be a lot of parents 
and children in attendance, and both 
groups seemed equally captivated by the 
goings-on. 

The fair finally wound down about 6 
p.m., and the exhibitors started packing 
up the televisions, the Sinclairs, the 
rampacks, hardware, software, books, 
etc. until the next ZX Microfair. . 

Then it dawned on me: there are 
something like 300,000 Sinclair Comput- 
er owners in the United States, more 
than in any other country. And there are 
close to as many manufacturers of Sin- 
clair related products in the U.S. as 
there are in England. Why doesn’t some- 
body organize a Sinclair Microfair for 
the United States owners? How about a 
show on the East coast, the Midwest, 
and the West Coast? Anyone out there 
up to the challenge? Well, it’s a thought, 
and judging from the good time I had in 
London, a fun thought at that! = = iw. 


SYNC Magazine 


Sinclair Hi-Res Graphics 


+ 48K RAM + 
8K EPROM Programmer 


ZX-G Expansion Unit 


Introducing Hi-Resolution Graphics 

for the Sinclair ZX-81 

Now you can create detailed graphics images with the new, 
high quality, low cost ZX-G Expansion Unit. 


Quality Graphics 
The ZX-G gives your ZX-81 the ability to create memory- 


mapped graphics images with a resolution of 256 X 192 pixels. 


—- Graphics images can be drawn, moved, rotated, mixed 
with text, saved on cassette or printed. 

— Excellent for Computer Aided Design, education and 
games. 


Powerful Software! (cassette included) 

— Generate lines, circles, and rectangles with ease! 
— A dynamic graphics cursor facilitates rapid design. 
— Graphics animation is fully supported! 


Memory Expansion! 

— With the ZX-G, you can expand the memory of your 
computer to 48K! 

— Up to four hi-res. graphics screens can be stored in 
addition to a 16K program! 


EPROM Programmer Support! 

— With our optional EPROM programmer, (fully 
transparent), 2716 (8K) EPROMs can be programmed, 
verified and run directly in memory map (2000-3FFFH) 


Compact Design! 

— The total unit (including power supply) is enclosed in an 
attractive vinyl-clad aluminum case. 

— Cable and power cord included! 

— 90 Day Warranty (parts & labor) 


ZAG Expansion Uni 0... eA a N $99.95 


RAM/EPROM Option ....................002.0008. $79.95 
(includes 32K RAM + four 2716 EPROMs, ZX-G required) 


Free Graphics Software 


Mail Order to: 


Southern Computer Systems 
630 Main Street 

Shelbyville, Kentucky 40065 

or call collect: (502) 633-5640 


AARDVARK — THE ADVENTURE PLACE 
ADVENTURES FOR OSI, TRS-80, TRS-80 COLOR, SINCLAIR, PET, VIC-20 


ADVENTURES — Adventures are a unique 
form of computer game. They let you spend 
30 to 70 hours exploring and conquering a 
world you have never seen before. There is 
little or no luck in Adventuring. The rewards 
are for creative thinking, courage, and wise 
gambling — not fast reflexes. 

In Adventuring, the computer speaks and 
listens to plain English. No prior knowledge 
of computers, special controls, or games is re- 
quired so everyone enjoys them—even people 
who do not like computers. 

Except for Quest, itself unique among Ad- 
venture games, Adventures are non-graphic. 
Adventures are more like a novel than a comic 
book or arcade game. It is like reading a par- 
ticular exciting book where you are the main 
character. 

All of the Adventures in this ad arein Basic. 
They are full featured, fully plotted adventures 
that will take a minimum of thirty hours (in 
several sittings) to play. 

Adventuring requires 16k on Sinclair, TRS- 
80, and TRS-80 Color. They require 8k on OSI 
erat on VIC-20. Sinclair requires extended 


TREK ADVENTURE by Bob Retelle — This 
one takes place aboard a familiar starship and 
is a must for trekkies. The problem is a famil- 
iar one — The ship is in a “decaying orbit” 
(the Captain never could learn to park!) and 
the engines are out (You would think that in 
all those years, they would have learned to 
build some that didn’t die once a week). Your 
options are to start the engine, save the ship, 
get off the ship, or die. Good Luck. 

Authors note to players — | wrote this one 
with a concordance in hand. It is very accurate 
— and a lot of fun. It was nice to wander 
around the ship instead of watching it on T.V. 


CIRCLE WORLD by Bob Anderson — The 
Alien culture has built a huge world in the 
shape of a ring circling their sun. They left 
behind some strange creatures and a lot of ad- 
vanced technology. Unfortunately, the world 
is headed for destruction and it is your job to 
save it before it plunges into the sun! 

Editors note to players — In keeping with 
the large scale of Circle World, the author 
wrote a very large adventure. It has a lot of 
rooms and a lot of objects in them. It is a very 
convoluted, very complex adventure. One of 
our largest. Not available on OSI. 


HAUNTED HOUSE by Bob Anderson — This 
one is for the kids. The house has ghosts, gob- 
lins, vampires and treasures — and problems 
designed for the 8 to 13 year old. This is a 
real adventure and does require some thinking 
and problem solving — but only for kids. 

Authors note to players— This one was fun 
to write. The vocabulary and characters were 
designed for younger players and lots of things 
happen when they give the computer com- 
mands. This one teaches logical thought, map- 
Ping skills, and creativity while keeping their 
interest. 


DERELICT by Rodger Olsen and Bob Ander- 
son — For Wealth and Glory, you have to ran- 
sack a thousand year old space ship. You'll 
have to learn to speak their language and 
operate the machinery they left behind. The 
hardest problem of all is to live through it. 

Authors note to players — This adventure 
is the new winner in the ‘‘Toughest Adventure 
at Aardvark Sweepstakes’’. Our most difficult 
problem in writing the adventure was to keep 
it logical and realistic. There are no irrational 
traps and sudden senseless deaths in Derelict. 
This ship was designed to be perfectly safe for 
its’ builders. It just happens to be deadly to 
alien invaders like you. 


Wt 


” Fee 


{ r Ei “Sy 
: reat ý 


d 
S i —_ i ien ne i : -e 4 gr 
X m > |y di : 


aÀ 
h N 


NUCLEAR SUB by Bob Retelle — You start 
at the bottom of the ocean in a wrecked Nu- 
clear Sub. There is literally no way to go but 
up. Save the ship, raise her, or get out of her 
before she blows or start WWIII. 

Editors note to players — This was actually 
plotted by Rodger Olsen, Bob Retelle, and 
someone you don't know — Three of the nas- 
tiest minds in adventure writing. It is devious, 
wicked, and kills you often. The TRS-80 Color 
version has nice sound and special effects. 


EARTHQUAKE by Bob Anderson and Rodger 
Olsen — A second kids adventure. You are 
trapped in a shopping center during an earth- 
quake. There is a way out, but you need help. 
To save yourself, you have to be a hero and 
save others first. 

Authors note to players — This one feels 
good. Not only is it designed for the younger 
set (see note on Haunted House), but it also 
plays nicely. Instead of killing, you have to 
save lives to win this one. The player must 
help others first if he/she is to survive — | like 
that. 


Please specify system on all orders 


PYRAMID by Rodger Olsen — This is one of 
our toughest Adventures. Average time 
through the Pyramid is 50 to 70 hours. The 
old boys who built this Pyramid did not mean 
for it to be ransacked by people like you. 
Authors note to players — This is a very 
entertaining and very tough adventure. | left 
clues everywhere but came up with some in- 
genous problems. This one has captivated 
people so much that | get calls daily from as 
far away as New Zealand and France from 
bleary eyed people who are stuck in the 
Pyramid and desperate for more clues. 


QUEST by Bob Retelle and Rodger Olsen — 
THIS IS DIFFERENT FROM ALL THE 
OTHER GAMES OF ADVENTURE!!!! It is 
played on a computer generated map of 
Alesia. You lead a small band of adventurers 
on a Mission to conquer the Citadel of Moor- 
lock. You have to build an army and then arm 
and feed them by combat, bargaining, explora- 
tion of ruins and temples, and outright ban- 
ditry. The game takes 2 to 5 hours to play 
and is different each time. The TRS-80 Color 
version has nice visual effects and sound. Not 
available on OSI. This is the most popular 
game we have ever published. 


MARS by Rodger Olsen — Your ship crashed 
on the Red Planet and you have to get home. 
You will have to explore a Martian city, repair 
your ship and deal with possibly hostile aliens 
to get home again. 

Authors note to players — This is highly 
recommended as a first adventure. It is in no 
way simple—playing time normally runs from 
30 to 50 hours — but it is constructed ina 
more “open” manner to let you try out ad- 
venturing and get used to the game before 
you hit the really tough problems. 


ADVENTURE WRITING/DEATHSHIP by 
Rodger Olsen — This is a data sheet showing 
how we do it. It is about 14 pages of detailed 
instructions how to write your own adven- 
tures. It contains the entire text of Deathship. 
Data sheet - $3.95. NOTE: Owners of OSI, 
TRS-80, TRS-80 Color, and Vic 20 computers 
can also get Deathship on tape for an addi- 
tional $5.00. 


PRICE AND AVAILABILITY: 

All adventures are $14.95 on tape except 
Earthquake and Haunted House which are 
$9.95. Disk versions are available on OSI and 
TRS-80 Color for $2.00 additional. 


ALSO FROM AARDVARK — This is only a partial list of what we carry. We have a lot of other games (particularly for the 
TRS-80 Color and OSI), business programs, blank tapes and disks and hardware. Send $1.00 for our complete catalog. 


aI 


pA 


AARDVARK - 80 


2352 S. Commerce, Walled Lake, MI 48088 


(313) 669-3110 


= 


Phone Orders Accepted 8:00 a.m. to 4:00 p.m. EST. Mon.-Fri. 


TRS-80 COLOR 


SINCLAIR 


OSI VIC-20 


Meditations ona 
Hypotrochoid 


Bradley Rogers 


The plotting capacity of the ZX80(81) 
enables even the least artistically talent- 
ed to create some pretty dazzling dis- 
plays. The much denigrated sine and co- 
sine functions conceal mathematical 
mysteries that are invisible to mere num- 
ber crunchers. 

Take the hypotrochoid. It is repre- 
sented by a rather formidable mathemat- 
ical expression, but it makes a marvel- 
lous propellor if displayed on your 
Sinclair. 

x = n cos t + h cos n/b t 

y = n sin t - h sin n/b t 

In mathematical parlance, this is a 
parametric formula describing the 
hypotrochóid. X and Y are the coordi- 
nates of the graph which can be pro- 
duced by means of the PLOT command. 
“t” is a variable representing the infinite 
number of angles a radius creates as it 
sweeps round a circle. “t”? plays a part 
because a hypotrochoid is a line formed 


Bradley Rogers, 16 Hepbourne St., Toronto, 


Ontario, Canada M6H 1J9. 


November/December 1982 


by a point fixed to a circle rolling along 
the inner side of a stationary circle. “n,” 
“h,” and “b” are parameters that are 
uniquely defined for each size and shape 
of hypotrochoid. 

Although this description may seem a 
bit overwhelming to those allergic to 
mathematics, it translates into very sim- 
ple programs. Try this: 
to- LET To 
26 LEF F=-Fo.2 
30 LEF K=22#TO0S Flaca (42F? 

4@ LEF Ye=iesSIn T-S4#S5In t42#T? 


S@ PLOY X338,¥23222 
60 cofa 28 


This routine can be run in either 
SLOW or FAST mode. Whenever you 
want to stop the program and admire 
your handiwork, simply press the 
BREAK pedal. Beware, it takes a while 
for this program to cook, especially in 
the SLOW mode. Through successive it- 
erations the lines are gradually filled in 
to form a continuous propellor. 

The hypotrochoid expresses the ele- 
gant simplicity and exquisite symmetry 
trapped inside many algebraic expres- 
sions. Its formula also contains an infi- 


8K ROM 
1K RAM 


nite number of bizarre, fascinating, and 
sometimes whimsical figures that can be 
coaxed out by mathematical mutilation. 
For example, try altering lines 30, 40, 


and 50 in this fashion. 
= 


-y 
20 LET T=T+¢.2 

230 LET X=22e005 T +4 COS tae? 
40 LET Y=i225IN T-S#*SIN (44Ts 


50 PLOT 450. X4+26 
6@ GOTO 20 

Surprise. The propellor has metamor- 
phosed into a doll. A more intricate doll, 
a dancer I think, can be formed by the 
following alteration: 
20 LET T=T+.ł 

=12 00S T46rCOS t4ETY 

28 CEt Voisesin T-S25IN (947) 


S@ PLOT ¥Y+36.X +429 
6@ GOTH 20 


Note that in the last two examples I 
have reversed the X and Y plot position 
in order to rotate the display 90 degrees. 
I suppose that mathematically speaking, 
these figures are no longer hypotro- 
choids, but they are the result of medita- 
tions on a hypotrochoid. For something 
completely different, try this: 

10 LET T= 

20 LET T=T+.2 

309 LET X=62#C0S T#62t0S (424T+.5 

4@ LEF Y=12+#SIN T-4#SIN (42#T)} 

SØ PLOT Y+30,X+20 

6a cara 2a 

I call it the “angry cat.” If you are 
fond of butterflies, try this galactic 


variety: 

1@ LEF F=e 

20 LEF T=F+.-2 

30 LET K=62C05S T+82t05 (GT? 
4@ LEF yY=iS4StTh F-€435IM thas 
Sa PLOT ¥s2G8.%228 


It is quite remarkable how resiliant 
this framework is. By means of seeming- 
ly random alterations, interesting forms 
emerge. Garbage is possible, but rela- 
tively rare. Try your hand and see what 
you come up with. It is a simple process 
of artistic experimentation. Be careful, 
however, not to choose large values for n 
and h that run the figure off the screen. 

If you find this interesting, I highly 
recommend a book by J. Dennis Law- 
rence called A Catalog of Special Plane 
Curves. It is published as a durable pa- 
perback by Dover (New York, 1972). In 
it I discovered the hypotrochoid and its 
parametric representation. If you get ex- 
cited by deltoids, hippopedes, rhodonea 
and nephroids, buy it. You can meditate 
and discover the inner harmonies of 
your computer. And, by the way, by 
drawing amusing and sometimes beauti- 
ful computer pictures, you may be able 
to convince your sceptical spouse or not 
easily impressed children that computers 
are not all that bad. 

As a parting gesture, I give you 
““Acquatic Pegasus.” 


16 LET T=8 
20 LET T=T+e. 2 
309 LET X=12 COS TeSelOS (3eT+2 


48 LET “=iselitt T-GeltTr txt; 


S@ PLOT Yt2G.X+26 a” 
50 GOTO 20 


39 


64 K MEMORY 
$129.95 


New Advanced Technology 


ve = 


e Fits Sinclair ZX80, ZX81 and Timex - Sinclair 1000. 
e First time offered - order early to avoid delays 
e For orders Call Toll Free 

1-800-344-8211 

— Visa 

— Mastercard 


COMPU TECH & SOFTWARE INDUSTRIES, Inc. 


A Machine Code Graphics Line 


Drawing Subroutine 
Daniel Kopyc 


In the pages of the ZX81 manual, we 
find a Basic subroutine to draw a line 
between any two specified points (see 
Listing 1). However, I found this routine 
to be exceedingly slow, especially when I 
wanted to draw several lines on the screen 
and had to wait several agonizing minutes 
to get them. The only solution was to 
translate the Basic subroutine into Z80 
machine language. 

This was a fairly straightforward task 
as the Basic routine did not employ any 
complex mathematical functions or oper- 
ations beyond ABS, SGN, subtraction and 
addition. I was able to find the address of 
the PLOT/UNPLOT routine in the 8K 
Basic ROM through the use of Bob 
Maunder’s book, The ZX81 Companion. 


To plot a point on the screen, the C and 


B registers of the processor are loaded 
with the X and Y coordinates of the point 
to be plotted, respectively, and a call is 
made to the PLOT/UNPLOT routine at 
address BB2h. Location 4030h (16432d), 
T-ADDR in the system variables listed on 
p. 173 of the ZX81 manual, controls the 
color (black or white) of the plotted point, 
thus making the routine at BB2h selec- 
tively either PLOT or UNPLOT. A value 
of 0 in T-ADDR UNPLOTS, 4Bh PLOTS. 
This is demonstrated in the section of 
Line Draw at address 41A0h. I also 
wanted to make the Line Draw routine 
very user friendly and completely usable 
by the person who has either no know- 
ledge of machine language at all or a 
severe phobia of PEEKs and POKEs. So, 
I added a short section of code to read 
out the values of five control variables 
from the variable storage section of the 
Basic interpreter (see Listing 3, at 
addresses 4082h through 40A5h). 


Daniel Kopyc, Box 106, Trumansburg, NY 14886. 
Listing 1 is from ZX81 BASIC Programming 
(1st ed., 1980), p. 121, and is provided for use as a 


subroutine in User written programs only. 


November/December 1982 


To enter the Line Draw program, first 
type in the short Basic monitor program 
in Listing 2 (including the big REM state- 
ment) that we will use to enter, edit, and 
review the machine code for Line Draw. 
After entering the program just as it is 
shown, type LIST 10 so that the REM 
statement is scrolled off the screen and 
will not crash the system. The monitor 
that I am using here is developed out of 
my experience in working with the Apple 
II computer. I had found a monitor pro- 
gram that was easy to use and all around 
nifty. As a result I decided that the ZX81 
should have that type of program, so I 
wrote a version for the ZX81 in Basic. 

Enter the monitor program in Listing 2 


Listing 1. Line-Draw Program in Basic. __ 
1005 REN U SHOWS HOW MANY STEPS 


Rr? REM U ~ SHOUS HOW MANY STEPS 


10920 LET O1xX*=SGN U 
iaaa LEF Diy=sGen U 

RE iDIX,D1Y?) IS A SINGLE 
STEP IN A DIAGONAL DIRECTION 
i040 LET C2ax=SGN U 
1050 LET D CD2Y=@ 
1855 REN (D2X,D2Y}2 
STEP LEFF OR RIGHT 
2@65@ LET M=RASS U 
18978 LET N=ABS U 
i880 IF MON = GOTO 11338 


IS A SINGLE 


1105 REM NOW (D2x pay? 
LE STEP UP aR DOUN 
1110 LET M=ABS U 
2420 LET N=ABS U 
1130 REM M IS THE LARGER OF ABS 
U AND ABS Y, N IS THE SMALLER 
124@ LET S=INT {M72} E 
34745 REM HE WANT TO MOUE FROM {R 
B) TO (c,D) IN M STEPS USING N 
UP-DOUN OR RIGHT-LEFT STEPS be. 
SND M-N @IAGOQNAL STEPS Bi, DISTR 
IBUTED AS EVENLY AS POSSIBLE 
7150 FOR I=% TO M 


1170 LET _ ae 


IS A SING 


i260 LET A=A+D1X 
1210 LET 8B=68+DiY 
1215 REM A OIAGONAL STEP 


Z220 GOTaQ 1250 

1230 LET RA=A+C2Xx 

1240 LET B=B8+C2Y 

1345 REM AN UP-DOUN OR RIGHT-LEF 


1250 NEXT I 
1260 RETURN 


ard 2. A ZX Monitor ae 


8K ROM 
16K RAM 


and then type RUN. Every line after the 
prompt symbol (=) starts with a 4-digit 
hexadecimal address. The next character 
(the command character) may be either a 
G, meaning GOTO, or start executing 
the machine language program at the 
preceding address; an L, meaning LIST 
the contents of eight consective memory 
locations starting at the preceding 
address; or a :, which deposits the fol- 
lowing eight, 2-digit, hexadecimal values, 
separated by one space, into consecutive 
memory locations starting with the spec- 
ified address. Some examples are given in 
Listing 4. This monitor program will be 
helpful in entering and debugging 
machine language programs other than 
just Line Draw, so you might want to save 
a version on tape. 


SS@ABCDEF 123456 7R2ARBRCCEF 1234TA 
SSGRBCDEF LA2S3455 7ASBASCHCEFLRBLSS | 
SIBABCOEF T23456 7SQ@RnScCeEr lessese 7 
SQQOABCDEF 123456 789R8RSCCEFISSCISS | 
SSGABCDEF 123456 7B8QVRRCOEF AS34255 s 
SS9@ABCOEF L23455 78SBARHRCCEFT23S45=- 
SSBABCCEF 
1@ IF PEEK 163¢2=4 THEN OLS 


300+ (OSe” 
2830 FOR De =6 TO Lk 
210 POKE INT (C+ 
(CODE A$ ic TO Dl- 
1 TO O73) -28 


318 PRIN 
33@ FOR F=-£ TO CIP 
350 LET M=INT í 


S60 PRINT CURS 
#16423) ;° 


(M4253 °C 


4i@ GOTO ic) 


41 


SINWARE provides these high-quality 
machine-code programs for the TS 1000 
or ZX87. 


HOT Z 


HOT Z is a machine-programming editor 
with a debugger and disassembler that 
help take the mystery out of assembly 
language. A cursor-driven command 
system provides an interactive program- 
ming environment for entering, revising 
and relocating code. Full-screen listings 
with user labels let you understand other 
programs and capture the power of 
ROM routines for your own programs. 
An indispensable tool for learning how 
the black box works. 


HOT Z loads, saves and runs your ZX 
printer or Memotech port for program 
documentation. HOT Z's detailed 
instructions are ideal for the beginner or 
part-timer. 


HOT Z is available on cassette in 
different versions for 16K or 32K+. 
Please specify. 


ZEXTRA 


Z EXTRA is a display creator/ 
controller that makes you a master of ZX 
graphics and displays. No programming 
is required to create, save, print or 
display multiple screens of text and 
graphics. 

Z EXTRA features blinking cursors, 
repeating keys, four write directions, 
eight plot directions, 4x4 and 8x8 
character sizes, and full-screen editing 
capability. 


Z EXTRA's displays provide horizontal 
or vertical scrolls of multiple screens 
against a background screen, or timed 
page flips for simple animation. Screens 
can be transferred to BASIC strings to 
save hours of fussy programming. 


Z EXTRA turns your ZX81 into an 
electronic notebook for free-form lists, 
formatted data files, data displays, 
moving bilboards, or just for fun. 


Z EXTRA requires a ZX81 or TS1000 
with at least 16K or RAM and is 
especially useful with 64K. Just $19.95 
on cassette. 


SINWARE 
BOX 323, DIXON, NM 87527 


42 


Listing 3. Assembly Language Line-Draw Program. 


¿LOAD VARIABLES FROM 
sAREA IN MEMORY AND 
sOTORE IN SINGLE-BYTE 
;RESERVED LOCATIONS 


4982H: DD 21 3C 46 LD IX,VA 
2A 19 49 LD HL, (VARS) 
$6 Ø5 LD B, 95 
4ØSBH: 23 INC HL 
7E LD A, (HL) 
D6 8¢ SUB 8¢H 
23 INC HL 
16 go LD DG. 
4Ø92H: 5E LD E, (HL) 
CB FB SET 7,E 
4Ø95H: CB 23 SLA E 
CB 12 RL D 
3D DEC A 
26 F9 JR NZ, 4095H 
DD 72 £¢ LD (IX+@),D 
DD 23 INC IX 
4ØATH: 23 INC HL 
23 INC HL 
23 INC HL 
23 INC HL 
23 INC HL 
16 E} DINZ, 408BH 
3A 3C 4D LD A, (VA) 
LD B,A 
3A 3E 4g LD A, (VC) 
LOAEH: 9¢ SUB B 
32 50 L4G LD (VU),A 
3A 3D 49 LD A, (VB) 
LD B,A 
3A 3F 49 LD A, (VD) 
SUB B 
32 41 4D LD (VV),A 
| 3A 5D LG LD A, (VU) 
4ØCØH: CD 88 41 CALL 4188H 
32 44 LO LD (VD1X),A 
32 46 10 LD (VD2X),A 
3A 41 49 LD A, (VV) 
CD 88 41 CALL 4188H 
32 45 49 LD (VD1Y),A 
3E BO LD A,@ 
32 47 4G LD (VD2Y),A 
AOD7H: 3A 56 40 LD A, (VU) 
CD 98 41 CALL 4198H 
32 42 Lo LD (VM),A 
3A 41 4G LD A, (VV) 
CD 98 41 CALL 9841H 
32 43 46 LD (VN),A 
3A 42 46 LD A, (VM) 
47 LD B,A 
APEDH: 3A 43 49 LD A, (VN) 
BS CP B 
38 1C JR C, 41ØFH 
3A 41 4D LD A, (VV) 
CD 88 41 CALL 4188H 
32 47 49 LD (VD2Y),A 
3E Øø LD A, Øø 
32 46 49 LD (VD2X),A 
3A 43 40 LD A, (VN) 
47 LD B,A 
3A 42 1G LD A, (VM) 
32 43 10 LD (VN),A 
78 LD A,B 
32 42 4D LD (VM),A 
41ØFH: 3A 42 4¢ LD A, (VM) 
CB 3F SRL A 
32 48 4G LD (VS),A 
3E Øø LD A, Ø% 
32 49 4G LD (VI),A 


3;SEE VARIABLE MAP 


AT 


SEND OF THIS LISTING 


;LET U=C-A 


3LET V=D-B 


;LET DIX=SGN U 


;LET D2X=SGN U 
;LET DIY=SGN V 
SLET D2Y=ø 
;LET M=ABS U 


SLET N=ABS V 


;IF M>N THEN GOTO 
sNUMBER 1132 


;LET D2Y=SGN V 
SLET D2x=¢ 


sLET M=ABS V 
SLET N=ABS U 


LINE 


; (IN EFFECT, EXCHANGE M&N) 


sLINE NUMBER 113¢ 
*LET S=(M/2) 


3FOR I=¢ TO M 


SYNC Magazine 


411CH: ED 4B 3C 49 
ED 43 36 4G 


4158H: 


L16@H: 


416AH: 
416EH: 


4188H: 


418DH: 


4192H: 


4198H: 


419FH: 
41AØH: 


A1A9H: 


November/December 1982 


CD AØ 41 
3A 43 49 
47 

3A 48 49 
8g 

32 48 49 
3A 42 49 
47 

3A 48 1G 
B3 

38 1C 

99 

32 48 4D 
3A 3C 4G 
47 

3A 44 40 
8G 

32 3C 4D 
3A 3D 4ø 
47 

3A 45 LO 
89 

32 3D 40 
18 16 

3A 3C 46 
47 

3A 46 46 
89 


32 3c 4g 
3A 3D 4ø 


47 
3A 47 1G 


89 
32 3D 49 
3A 42 1B 
47 
a 49 4% 


3 
32 49 49 
B8 


DA 1C 41 
C9 


3A 40 40 
FE Øø 


28 $2 
3E 4B 
32 3Ø 4% 
CD B2 ØB 
c9 


LD BC, (VA) 
LD (COORDS) , BC 
CALL 41A@H 


LD A, (VS) 
ADD A,B 

LD (VS),A 
LD A, (VM) 
LD B,A 

LD A, (VS) 
CP B 

JR C,4158H 
SUB B 

LD (VS),A 
LD A, (VA) 
LD B,A 

LD A, (VD1X) 
ADD A,B 

LD (VA),A 
LD A, (VB) 
LD B,A 

LD A, (VD1Y) 


CP ØØH 


BIT 7,A 
JR Z,419FH 
CPL 


ADD A, (1H 
RET 


LD A, (VPL) 
CP ØØH 

JR Z,41A9H 
LD A, 4BH 

LD (403@H),A 
CALL BB2H 
RET 


;PLOT A,B 


sLET S=S+H 
sIF SXM THEN GOTO 123¢ 


SLET S=S=M 
SLET A=A+D1X 


;LET B=B+D1Y 


sGOTO 125¢ 
sLET A=A+D2X 


;LET B=B+D2Y 


sLINE NUMBER 125¢ 
sNEXT I 


;RETURN TO CALLING PROGRAM 


;SIGNUM (SGN) SUBROUTINE 
CALL WITH ARGUMENT IN A 
; REGISTER 

LEAVES RESULT IN A REG. 


¿ABSOLUTE VALUE (ABS) ROUTINE 
;CALL SAME WAY AS SIGNUM (ABOVE) 


3;PLOT ROUTINE 

SEIS UP COLOR VARIABLE 
sAND MAKE MONITOR CALL 
s TO BB2H 


Sinclair Software SourceBook 
list 
YOUR SOFTWARE 
now for the February catalog 
SELL IT—SHARE IT 
You made it to fit your specific 
needs and it will meet the needs of 
thousands of other Sinclair users 
who will 
ORDER FROM YOU AT YOUR 
PRICE 


software category 
[C] Business Applications 
[_] Educational 

[|] Games 

[_] Industrial 

[_] Home 


Special Hardware if needed 


designed for 
[_] ZX80 
[_] ZX 81/Timex Sinclair 1000 


minimum of 


[1k [] 32 k 
02k [48k 
r]16k TBk 


Brief description (200 characters 


a Bo eee N a E e O E y ey te A S a ET a> 6 E A A a E 
oe) E a a a Oey a aaa alg ew, Seip es) Geese. a A eee See 
oa Se yee, a ted er ee: jee ee! Wink yere ce ear e ost igp ier! oy py a aero 
o let r te “ete. eo oe) 9 E E ue es 20 2e 6 2:0. (oe erat his a, 87 E D A 
co ote. ote d wks odie ee SPV ie* © pg ee lie at. oe BF Oe fe he er ee 
ORM a Pak ey ON, Get ome Dae TU ht ee JE ee’ eet ce wee WAN te Se ni aA er mee ahs aah cae Tee S 
6 20g es fend ed ee ee le, oak “eo ye. > ee Ye. AA ere ew tee FS oe, 
ose, xe oa. © 6 TIE 0 OF Ore, ee? ee el ae oe a es We 5 8) Wie 


Available as 
[C] Cassette$  —— (US) 
[C] source list $ ——— (US) 


Name . 

PUM OSGeo ss Ui Oe ea ak ee 
Street eee. oo ee Pa ee 
State/Prov 
Zip/Postal code =... 3 ae 


[_] Listing(s) 
$10 per listing .00 
[ ] Purchase __ copy(s) 
Sinclair Software 
Sourcebook ($8 ea) .00 
[C] Check or Money order 
[_] Visa or Mastercharge 
# 


/ TOTAL Ses 


Drivers Software Sourcebooks 
5040 Ocatillo Rd. 
Las Cruces, NM 88001 


43 


THE ZX81 HOME COMPUTER PACKAGE 


ETCH-A-SCREEN 


Easily paint pictures anywhere 
within the top 17 rows. A moving 
cursor travels up, down, right, left, 
even diagonally, leaving behind 
text, graphics, and inverse charac- 
ters. Keys REPEAT while held 
down. Your drawing can be stored 
on tape... and immediately ap- 


pears when reloaded. Perfect for 
designing screen logos, or just 


doodling on the screen 


BILLBOARD 


CHECKBOOK BALANCER 


Keep a running tabulation of your 
bank account. CHECKBOOK BA- 
LANCER displays your current 
checkbook balance, (up to 
$59,999.99), your latest account 
balance, and a list of up to 22 
transactions which haven’t 
cleared the bank. A plastic-coated 
keyboard overlay defines ENTER, 
VOID, CLEAR, and DISPLAY keys. 
And a SAVE key stores the up- 


dated program on tape. 
Use BILLBOARD for messages, 
displays, and exhibits. Type in a 
message of up to 250 letters, and 
press ENTER. A row of giant let- 
ters moves smoothly across the 
screen, repeating your message 
until you press NEW and enter a 
new message. Or, press SAVE and 
store the message on tape. When 
reloaded, the message begins au- 
tomatically. 


COMPOSER 


A keyboard overlay transforms your computer into a four-octave musical instrument which broadcasts music as 
the keyboard is played. Listen to the music through a radio placed beside the computer, or through an amplifier and 
speakers. Or record the music directly onto tape. The last 175 notes played are stored in memory, and can be played 
back or edited. EDIT keys let you change notes and single-step forward or backward through the piece. SPECIAL 
EFFECTS keys are used to create unusual sound effects like laser blasts and arcade noises. 


The complete ZX81 HOME COMPUTER PACKAGE, including cassette 
of four programs, manual, guide cards, screen display sheet, musical 
score sheet, and TWO FULL-COLOR KEYBOARD OVERLAYS, is just 
$9.95. Shipping and handling included! $9.95 


From: LAMO-LEM LABORATORIES, CODE209, BOX 2382, LA JOLLA, CA 92038 


For the ZX81, TIMEX-SINCLAIR 1000, and 8K ROM ZX80 or MicroAce 


ZX81 HOME COMPUTER PACKAGE $9.95 niece 
ZX81 CLASSICS $9.95 
CITY 


ZX81 DISASSEMBLER 


NAME 


TOTAL 


STATE/ZIP 


Our catalog, with screen display 


and coding sheets, is free! 


Now that you know how to use the 
monitor program, you may proceed to 
type in the entire listing of Line Draw as 
shown in Listing 5 using the deposit (:) 
command. It may take you until midnight, 
but do not despair because the results 
will be well worth the time and trouble. 
When you are finished, type ENTER to 
exit from the monitor, and SAVE the 
program at least twice, due to the some- 


times unpredictability of the Sinclair 


SAVE, and type in the additional test 
lines as shown in Listing 6. 


Now comes the moment of truth. Type 


RUN 1000. If no line appears on your 
screen almost immediately from the bot- 
tom left-hand corner to the top right- 


hand corner, or worse yet, your system 
crashes, you must reLOAD from tape, 
reenter the monitor by typing RUN, and 
carefully recheck your coding. It is helpful 
to have a friend to dictate the listing while 
you look at the screen otherwise you are 
constantly losing your place. If, however, 
the program does work successfully, espe- 


Listing 4. Example Lists, GOTOs, and Deposits for ZX Monitor. 
))4082L (16514d) List out 8 consecutive memory locations 
beginning with address 4082h. As shown, 
location 4082h would hold the value AAh, 
4083h holds BBh, etc. The list command 
also displays the decimal equivalent of 
the specified address, in this case 16514d. 
This is useful when calling your machine 
program from a Basic program using the 
USR() function, i.e., 
LET L=USR(16514). 

GOTO location 4082h and start exe- 

cuting the machine language program 
there. The GOTO command also displays 
the contents of the BC register pair in the 
Z80 processor, which is what is left in the 
USR variable after calling from a Basic 
program. 
Deposit the following 2-digit hexadecimal 
values separated by one space into con- 
secutive memory locations beginning with 
the specified address 4082h. 

If we now do another LIST command, 
we can examine our changes. 

You are now ready to have some fun 
on your own with more examples. 


))}4082G (BC=0001) 


))4082:22 33 44 55 


))4082L (16514d) 
22 33 44 55 EE FF 00 11 


Listing 5. ZX Monitor Deposit Commands for Entering Line-Draw. 


4082:DD 21 3C 40 2A 10 40 06 


408A:05 23 7E D6 80 23 16.00 411A:49 40 ED 4R 3C 40 ED 43 
4092: 5E CB FB CB 23 CB 12 3D 4122:36 40 CD Ad 41 3A 43 40 
409A320 F9 DD 72 00 DD 23 23 =412A247 BA 48 40 80 32 48 40 
40A2323 23 10 EA 3A 3C 40) 8 =413233A 42 40 47 3A 48 40 B8 
40AA347 3A 3E 40 90 32 50 40 4134:38 1C 90 32 48 40 3A 3C 
40B233A 3D 40 47 3A 3E 40 90 = 4142340 47 3A 44 40 80 32 3C 
4OBA332 41 40 3A 50 40 CD 88. 4144:40 3A 3D 40 47 3A 45 40 
40G2:41 32 44 40 32 46 40 BA = 4152380 32 3D 40 18 16 3A 30 
40CA:41 40 CD 88 41 32 45 40 415A340 47 3A 46 40 80 32 3C 


40D233E 00 32 47 40 3A 50 40 
AODA:CD 98 41 32 42 40 3A 41 
40E2:40 CD 98 41 32 43 40 3A 
4OEA:42 40 47 3A 43 40 B8 38 
A0F231C 3A 41 40 CD 88 41 32 
AOFA:47 40 3E 00 32 46 40 3A 
4102243 40 47 3A 42 40 32 43 
A10A:40 78 32 42 40 3A 42 40 
4112:CB 3F 32 48 40 3E 00 32 


November/December 1982 


4162:40 3A 3D 40 47 3A 47 40 
416A:80 32 3D 40 3A 42 40 47 
4172:3A 49 40 3C 32 49 40 B8 
417AsDA 1C 41 C9 

4188:FE 00 20 01 C9 FA 93 41 
4190:3E 01 C9 3E FF C9 
4198:CB 7F 28 03 2F C6 01 C9 
41A033A 40 40 FE 00 28 02 3E 
414A8:4B 32 30 40 CD B2 OB C9 


IMPORTED GAME CASSETTES 
ZX81 16K $14.95 EACH 


“TRADER JACK” FANTASTIC FUN GAME. 
BUSINESS LOGIC — SOUTH PACIFIC LOCAL. 
“ZX81 MONOPOLY” UP TO 6 PLAYERS. 


SPECIFY EITHER SPANISH, BRITISH OR 
AMERICAN LANGUAGE VERSION. 
SAVAGE SOFTWARE, PO BOX 441 

TITUSVILLE, FL. 32780 


The Troiano Software Company is now 
offering for the ZX81 a graphics, games, 
accounting, math and utility package 
with 12 programs in all! Only $4.00. 
Troiano Software Company 
PO Box 40 

Nesconset, New York 11767 


CAR LOG 

A new USEFUL suite of professional 

programs for the ZX81(16K). 

1.) Very simple to use with full instruc- 
tions. 

2.) Complete cassette record of mileage 
and itemised expenses. 

3.) All conceivable ratios, totals and 
projections computed. 

CAR LOG is suitable for your car, your 

dad's car or your whole fleet of trucks. 

Only $14.95 
NIMROD SORTWARE 
4 Stanley Rd., 
London, SW14 7DZ U.K. 


ZX-81 SOFTWARE WRITERS 
If you have useful applications for busi- 
ness, education, engineering or unique 
exciting games you could earn good 
money. Submit programs on cassettes 
or write details to: 

FRESH TRACKS 27 W. Rayburn Road, 
Millington, N.J. 07946. Phone A/C 201 
647-0970. Prompt reply. 


ZX TYPING TUTOR 
e LEARN ALPHA NUMERIC KEYBOARD 
e THREE SKILL LEVELS 
e INSTANT FEEDBACK AND FINAL SCORE 
e GET THIS HIGH PERFORMANCE 8K/16K 
LISTING AT BIG SAVINGS. 
e ONLY $4.95 FROM: 
MICRO-TECH 
1019 BRANDON LAKES AVE. 
VALRICO, FLORIDA 33594 


SINCLAIR ZX81 & TS1000 SOFTWARE 
Fifty games for less than $2 ea. 
Send SASE for FREE catalog to: 


BIOCAL SOFTWARE 
340 Cypress Dr. 
Fairfax, Calif. 94930 


SANTE FE INDUSTRIES-soon to be the biggest 
name in software/hardware for the Timex/Sinclair 
and Commodore Computers. Will send you (for $3.00 
s & h) software/hardware information on, 16K RAM, 
I/O, Rtty, CW, Satellite antenna pointing, contest log- 
ging, accounting, inventory, classroom, mail list, etc. 
included-over 30 1K ZX/Timex programs, ZX80 to 81 
conversions, error table. SANTA FE 2342 S. Dun- 
dee CT., Highland, MI. 48031 


SIMPLY THE BEST! 


45 


cially the first time, you are eligible for 
the award for BEST-TYPER-OF-THE- 
YEAR. Now carefully delete each line of 
the Basic monitor program (remember 
never to type LIST, only LIST 10) all the 
way to line 1060 starting with line 10 by 
typing in the line number followed by 
ENTER. Now carefully SAVE this final 
version at least twice. To use this final 
version of Line Draw, all you do is set 
aside five variables (i.e., A-E) in your 
Basic program and set them to zero with 
the LET statement at the very top of your 
program (i.e., line 10). Do not declare 


any other variables before these five in 
order that Line Draw will be able to 
correctly find them. When you wish to 
plot a line during the course of your 
program, simply set the first two control 
variables (A and B) to the X and Y coor- 
dinates of the first endpoint of the desired 
line, the second two variables (C and D) 
to the coordinates of the second endpoint 
and the fifth variable (E) to 0 if you want 
to unplot the line, or to 1 to plot the line. 
Super simple, super fast. Some additional 
program examples to try with Line Draw 
are found in Listing 7. 


Listing 6. Additional Basic Lines for Testing Line Draw. 


1000 LET A 0 
1010 LET B: 0 
1020LETC 63 
1030 LETD 43 


1040 LETE 1 

1050 LETL USR 16514 
1060 STOP 

RUN 1000 


(1st X coordinate) 
(1st Y coordinate) 
(2nd X coordinate) 
(2nd Y coordinate) 
(Set plot to black) 
(Call machine 
routine to draw 
line from A,B 

to C,D) 

(Done) 


(A line should immediately appear on the screen from 0,0 to 63,43) 


Listing 7. Additional Example Programs for Line- 
Draw. 


ui 
=j 
m 
J 
H 
in 
x 


TQ 43 STEP 5 


“J 

© 

a 

QO 

pa 
ProOOOD<MOOMDD 


| NKKHAHH 


LOO) 
Di, 


¥ 
i6S5i4 
TO 63S STEP S 


pa 
W 
8 
Z 
X 
ool 
“ 


-X 
R 16514 


H 

nj 

9 

' 
roOOMDK 


+a 


3 
= 
ET S 
2090 NEXT X 


wi Hn 
1 POHOOD 


‘SEE EXPLANATORY T 
TS LEN AS STEP 18 
$ix FO X43 


| 

(a) 

pal 
raem D DMOOMDHA 


tannin ne 
CXC 
w+ DDDD 
AO FER: 


js 
rm 
8 
i 
g 
D 


LET 
150 NEXT 


x 


Note: The Shape Draw program draws 
a shape on the screen given endpoints of 
lines that define the shape desired coded 
into the text of the variable A$. For each 
line to be drawn, the endpoints are 
specified and PLOT/UNPLOT is selected 
by the letters P or U respectively. For 
example, to draw a box on the screen the 
following data could be put in A$: 
“00001000P 10001010P 10100010P 
00100000P”. Fa 


Get on the Control Bus 


for only $49.95 "ip 
... and be on TIME. 


With our real Time Clock and Calendar 
Compatible with ZX80/81 


TIME MONTH DATE YEAR DAY OF WEEK 
23:59:59 WERE ae +. Se 


@ Leap year correction 

@ 12/24 hour format 

© + 30 second time correction 
(hardware or software) 

@ Battery back-up circuit 


Comes complete with: 


@ All software needed to operate clock and 


Input/Output ports 
@ On board 5 volt regulator. 


@ Feed through Sinclair Bus connector 


to allow normal expansion. 


@ Each port is expandable through Multiplexing. 
© /O ports and other controls mate with Radio Shack” 


44 pin edge socket. 
@® SO day Warranty 


Accessories used with 1/0 Board: 
@® Ato D and D to A converter 


@ Wireless control system compatible with BSR” 


modules 


@ Solid state 25 amp switch modules 


® 8 SPDT 5 amp relay card 


Future products used with 1/0 board: 
@ Touch Tone“ encoder/decoder and 


other telephone products 
@ Speech synthesizer 
@ Sound synthesizer 


i 2 


8 lines departing 


(outputs capable of driving relays) 


8 lines arriving 
(T T L compatible inputs) 


MicroAce & TIMEX” 1000 
All accessories can be connected together 


and separately controlled from the I/O Ports 


Description 


YO port with real time clock (Built and tested) 
PC board and manual of #310 
A to D and D to A converter (Built and tested) 


Bare A to D and D to A board and manual 


Wireless control system (Built and tested) 
Solid State™ AC switch (Built and tested) 


Orders accepted by phone or mall 


Relay board (Built and tested) 
Clock IC and crystal (Tested) 
Shipping and handling 


California residents add 6% tax 


For mail orders, send check or money order 
Foreign orders must be in U.S. currency. 


write for free catalog 


vk AU 


P.O. Box 3295 


Escondido, CA 92025-0580 
information (619) 741-5132 
24 HOUR ORDER LINE ONLY 
NAT. 800-227-1617 
Calif. Res. 800-772-3545 


(No catalog calls please) 


Ask for operator 367 


SOFTWARE BY 
C.E.D.CORPORATION 


E-Z BOOKKEEPING FOR SMALL BUSINESS (TAKES LESS 
THAN %2 HOUR PER MONTH). ALSO GOOD FOR 
HOUSEHOLD BUDGETING. 

CHECKING ACCOUNT (MAKES CHILDS PLAY OF THIS 
JOB) 

BY-IT-SELF ITS GREAT BUT IT WAS DESIGNED TO WORK 
WITH E-Z BOOKKEEPING 


MACHINE LANGUAGE NIT-PICK (GREAT FOR LEARNING 
ASSEMBLY LANGUAGE PROGRAMING) 


WORD PROCESSOR (IT WAS USED TO WRITE THIS AD) 


ORDER FROM C.E.D. CORPORATION 
P.O. BOX 222, SALEM, WISCONSIN 53168 


PRICE LIST 


TAPE LIST BOTH 
E-Z BOOKKEEPING $19.95 $8.95 $27.95 
CHECKING ACCOUNT $9.95 $595 $14.95 
ABOVE TWO ASA 
PACKAGE $41.95 | 
M.L. NIT-PICK $18.95 
WORD PROCESSOR $18.95 $7.95 $25.95 


SPECIFY ZX80-1 OR TRS 80 COLOR COMPUTER 
ZX80-1'S NEED 16K RAM 
TRS 80 NEEDS 16K RAM 


ALL OF OUR PROGRAMS ARE MENU DRIVEN AND ALL 
DATA CAN BE STORED ON TAPE AND OR SENT TO ALINE 
PRINTER 


WE HAVE TELEPHONE SUPPORT FOR PROBLEMS OR 
QUESTIONS 
CALL (414) 276-8787 
We guarantee replacement of defective tapes 


GET SMART! 


Use Smartware software! We specialize in providing software for 'full-blown' 
Timex / Sinclair personal computers. Our programs can help you realize the 
full potential of your machine, for both entertaimment and applications. 


NEW RELEASES: 

1. James Bond Adventure #1 - A unique adventure game, in which you mst 
help ‘Agent 007' make the right decisions to complete his mission. Of 
course, you will travel to exotic places, fight against overwhelming 
odds, and hopefully save the world. 

2. ZX Yahtzee —- The classic dice game of strategy and luck, played on a 
computer, For one to four players. 

3. Wharri - Based on an ancient African game that was played with beans 
and bowls. Now you will need concentration and cunning to outwit the 
computer. 

4. Mailing List / Phone Directory =- Store the address and/or telephone 
mumber for up to 100 people. Search for entries in a variety of ways. 


STANDARD FEATURES: 

1. All programs will run on Sinclair ZX81 and Timex 1000 computers with 
16K of RAM. 

2. Software is shipped on certified error-free data cassettes, with each 
program recorded twice on the cassette (just in case one copy gets 
accidentally erased). 

3. Instructions are supplied as part of each program, rather than on 
separate papers which tend to get misplaced. 

4. Each program is available on cassette, or in listing form (if you 
really enjoy typing). 


TO ORDER: 
Send a check for $9.95 for each cassette, or $4.95 for each listing, to: 
Smartware, P.O. Box 1491, Melbourne, Florida 32935 


TS/1000 — Sinclair ZX-81 


RUN- software Club 


January Feature Program 
REAL ESTATE ADVISOR 


Whether you have one tenant or several buildings, 
Real Estate Advisor can organize the information 
you need to keep investments, expenses and cash 
flow in control, plus calculate rate of return on 
your investment. Real Estate Advisor also lets you 
do budgets, projections and shows you the results 
of what-if situations and calculate estimated future 
rates of return. It’s a lot of program at a price you 
can easily manage. (16K) 

Suggested Retail $16.95 #14-10A-11 
Feature Price Good Through 1/31/83 $10.95 


Additional Selections 


GRAPH-IT (16K) MASTERTHINK (16K) 


Graph-it plots user supplied equa- Play against the computer and it 
tions as variables rather than pro- will choose a 1 to 6 digit number’ 
gram statements (no reprogram-then tell you which digits and 
ming necessary.) Three dimen-positions you guess correctly. 
sional graphs also possible. lay with another person and you 
Sug. Ret. $16.95 #12-4A-11 choose. 

Run-it Price: $14.95 Sug. Ret. $13.95 #15-2A-11 


LAB ASSISTANT (16K) Run-it Price: $11.95 


converter, metric converter. ential equations. 
Sug. Ret. $19.95 #11-4B-11 Sug. Ret. $12.95 #11-4A-11. 
a ice: $10 $10.95 


: 9 K Kor Price: 


-it Pr 
orner 


WORD PLAY | #13-2A-11 
2 games: Scramble & Cipher 


Sug. Ret. $9.95 Run-it Price: $7.95 § USE THIS 
COMPUTER AWARENESS | #13-8A-11 HANDY 
programs including doing your own menu 
Sug. Ret. $7.95 Run-it Price: $6.95 hott 
ARTIST i #13-6A-11 f NOW AND 
Drawing graphics for floor plans, lettering, etc. 
Sug. Ret. $12.95 Run-it Price: $11.95 f START 
MESSAGE CENTER #13-6B-117 RECEIVING 
Combines Artist & continuous message progra OUR 
HOME RECORDS #13-6C-11 CATA G 
San bsy sorting records LOG. 
Sug. Ret. $13.95 Run-it Price: $11.95 


Check your selection(s): 


Send to: 


114-10A-11 (013-2A-11 Run-it Software 


C 12-4A-11 © 13-8A-11 


©11-4A-11 [13-68-11 Chicago, IL 60605 

[1111-48-11 C113-6C-11 

If paying. by check or money order, indicate amount enclosed. 
UIE fas, OGG) Se 

If paying by Master Card or Visa complete the following: 


Card # 
Bank # (MC only) 


4K ROM 
1K RAM 


Flicker-free Four Times Normal 


Character Scrolling Richard van Workum 


Programming an active display with- 
out the flicker and flash is one of the 
challenges confronting the ZX80 user. 
So far the programs published in SYNC 
with flicker free display possibilities 
have some limitations: 1) the program 
must stay in machine language; 2) all 
computing must be done during the 
vertical blacking period; or 3) everything 
must be timed just right. We have had 
lateral scrolling for one line, but this 
scrolling is not suitable for a billboard 
because it is hard to read at a distance. 
Another program would display a mes- 
sage in characters eight times their nor- 
mal size, but not enough information 
can be displayed on the screen at one 
time. 


A Flicker Free Message Program 

The program presented here is devel- 
oped from several articles in SYNC. Asa 
compromise between the two extremes, 
it will continually scroll a flicker free 
message, held in the 2 REMark state- 
ment, with characters four times their 
normal size. 

The first 45 bytes in this program 
store variables, lists, and tables that the 
program will use. The program starts at 
USR (16472) where it initializes the pro- 
gram variables in the first 45 bytes. See 
Figure 3. 

The next part of the program creates a 
complete display of 24 lines. This rou- 
tine is based on Dr. I. S. Logan’s article 
“How to Produce a Display File Using 
Machine Code” in SYNC 1:2. Creating 
the display file starts at 16494 (see Fig- 
ure 4). The routine inserts seven 
NEWLINE characters (118) making six 
blank lines. Then it makes 4 full lines of 
spaces to make room for the message to 
be scrolled. To complete the display 14 


Richard Van Workum, 920 Leslie Ln., Hanford, CA 
93230. 


48 


more NEWLINE characters are in- 
serted. At the end of this routine the 
DF-EA, DF-END, and LINE 
COUNTER are set so the program can 
return to Basic. 


The Display Routine 

The display routine was based on an- 
other article by Dr. Logan, “‘Auto-Dis- 
play-Changing” (SYNC 1:3) although I 
have made many changes. The display 
changers in this Horizontal Scrolling 
program are written in machine lan- 
guage so this program does not have to 
return to Basic. As in Dr. Logan’s pro- 
gram most of the display routine is 
copied from the ZX80’s 4K ROM. The 
display routine for the 4K ROM is listed 
in SYNC 1:3, p. 44. 

The vertical blanking period starts at 
IN A (C) and lasts until OUT (OFFh) 
A. Just before the OUT instruction there 
is a timing loop of DJNZs. I eliminated 


this loop and inserted the timer-control- 
ler so now this is where the Horizontal 
Scrolling program does all its comput- 
ing. Obviously the scrolling routines 
take more time than the DJNZs; how- 
ever, this does not cause any problems 
with the vertical sync. 

Each time the timer is decremented, a 
different subroutine is called. The sub- 
routines are 2 REM reader, 1st quarter 
of expander, Nth quarter of expander, 
32nd position list. One of these routines 
is run before the display routine contin- 
ues out of vertical sync and jumps back 
to its beginning. If the timer has done all 
the needed subroutines before it reaches 
zero the program will cycle through the 
expander until the timer decrements to 
zero. Then it is reset to the value in 
16453 and calls the display changer rou- 
tine. After the changes are made, the 
display routine continues out of vertical 
blanking and jumps to its beginning. 


Figure 2. Lists, Tables, and Variables. 


16427 27 Holds character 
construction 
displacement 
hie e a T ge E, 

16428 27 Holds graphic 
list displacement 
for expander 
CPR Py Nokes 

16429 27 

ae 
ae 
ae 
a7 
gtd 
AA 
Af. Graphic list 
ey 
27 
at 
Bi 
af 
ak 
27 
a? 
14445 27 
r Send position 
2r list 
| at 
16449 27°” Holds displacement 


for sand 
position list 
iy kgs ee ee 


14450 27 | Holds address 
of character 
tiee REM to 
be expanded 

BF 


16452 27 Holds timer 
countdown 


variable 


Holds timer 
constant 


16453 10 


16454 119 Holds first 
address in 


= REM message 


o~ 
g~ 


164354 


pb 
ted 


peers 
d 


Table of graphics 


yor rano ps 


16471 128 


SYNC Magazine 


“The Graphics Are 
Incredible 


“Finest Machine 
Code Games 
Available” t 


“Brilliant... 
Undoubtedly One 
Of The Best” 


3D MONSTER MAZE 
Gamestape 4 
Actual screen TS1000/ZX81 


ER se ee eee ee ee ee ee ee ‘M 


“IFIHAD TO CHOOSE 


JUST ONE PROGRAM 
TO IMPRESS AN AUDIENCE 
WITH THE CAPABILITIES 


OF THE T$1000/ ZX81, 
THEN ‘3D MONSTER MAZE’ 
WOULD BE THE ONE” 


al 
19 sh 


Orders to: Visa and M/C orders Dealer orders and queries: 
MELBOURNE HOUSE SOFTWARE,INC. canbe phonedin: 800/251-5900 
Dept. CS 615/361-3738 (ask for a Melbourne House operator) 


347 Reedwood Drive , Nashville, TN 37217 


a 
E 
g 
Price Quantity Total g 
13941 Gamestape 1: 11 Programs—1K 14.95 $ 
13942 Gamestape 2: 3 Games—16K 14.95 g 
13943 Gamestape 3: Catacombs Adventure—16K 14.95 
13944 Gamestape 4: 3D Monster Maze—16K 14.95 i 
13945 Gamestape 5: 3D Orbiter—16K 14.95 a 
PLUS BOOKS: 
26025 NOT ONLY 30 PROGRAMS FOR THE 2X81 14.95 g 
25957 MACHINE LANGUAGE PROGRAMMING MADE SIMPLE 19.95 a 
25913 UNDERSTANDING YOUR ZX81 ROM 19.95 
26063 ZX81 ROM DISASSEMBLY—PART A 14.95 a 
26103 ZX81 ROM DISASSEMBLY—PART B 14.95 
25895 COMPLETE BASIC COURSE FOR TS1000/ZX81 34.50 3 
PLUS TAPES: å 
26446 SPACE TREK —16K 14.95 
26359 SUPER INVASION—1K 14.95 8 
26318 WALL BUSTERS—1K 14.95 g 
26472 10 EXCITING PROGRAMS—1K 14.95 
26284 REVERSI—1K 14.95 i 
26406 TOOLBOX—1K 14.95 
26490 BASIC COURSE 2 cassette pack 7.50 f 
Total: $ a 
Residents of CA, MD, TN, please add sales taxes: 
S&H: 2.00 $ 
Total: $ g 
Enclosed is my check or money order for $ : 
Please charge my Visa —— or MasterCard____ Card + expiration date ë 
a Nee Z z 
EES SE E N A EEE INE E A E ESR o hs Zip nf 


Reviews are from 
- *ZX COMPUTING 
: +John Rowlands, Product Manager 
k: U.Kis largest Sinclair distributor 
4t Ħ°Personal Computer World 


MELBOURNE 
HOUSE 
SOFTWARE INC. 


Se ee eB rn re mr etn ermine ree 


—— 


ke 


2 REMark Reader 

When this subroutine is called, the 
next character from 2 REMark is in- 
serted into the expander subroutine. The 
2 REMark address is incremented and 
its contents checked for NEWLINE 
(118). See the flow chart. If it is not 118, 
then the 2 REMark address is stored in 
memory 16450. If it is 118, then the 2 
REMark is incremented again and 


checked for the higher order byte of the 
line number for the next Basic instruc- 
tion. This would signal the end of the 
message. Since 
500 LET K=USR (16472) 

is the next instruction in Basic, the high 
order byte is 1. If the check does not find 
a 1, the address is stored in memory 
16450. If the check finds a 1, the address 
is initialized back to the first character 


Figure 3. Initialization. 


Address Decimal Mnemonic 
16472 42, 70, 64 LD HL, (NN) 
16475 H, 66, 64 LD (NN), HL 
16478 33, 31, 65 LD HL, NN 
16481 Ww, 2, 65 LD (NN), HL 
16484 175 XOR A 
16485 33, 61, 64 LD HL, NN 
16488 6, 5 LD B, N 
16490 119 (1) LD (HL), A 
16491 INC HL 


35 
16492 16, 252 DJNZ DIS (1) 


Comment 


get first address in 2 REM message. 

put in address of character in 2 REM to expand. 
load HL with start of 2 REM reader. 

load controller in timer. 

load A reg. with 0 


. initialize line changer displacement & 
32nd position list to 0. 


SALE -ZX81 EDGE 


CONNECTOR $4 95 
5/$23-ADD 50CEA. 


INTRODUCING : 


PTX-1I/O: @1r016 
PORT EXPANDABLE 
INPUT-OUTPUT PORT 
SYSTEM. COMMANDS 
IN BASIC.KEYBOARD 
PORT,D/A,A/D,FREQ 
UENCY GENERATOR... 
USE YOURCOMPUTER 
TO IT’S MAXIMUM !!! 
SASE GETS DETAILS 


POWERTRONIX 


25 E 23 ST.BAYONNE 
N.J. 07002 USA 


50 


THIS IS A HIGH Q 
$7.49 ea + $1. handling and Postage. SEND CHECK & ORDER TO: 
ZOPF INDUSTRIES 121 W. Mt. Hope, Lansing, MI. 48910 


e ELIMINATES SLIDING 
ACCURATE TYPING 
& LOSS OF PROGRAM 


CASSETTE HOLDER 


16K ZX-81 SOFTWARE 


FOR THE HOME: 
CHECKBOOK BALANCE 
ENERGY ANALYSIS 
VIDEO CALC 

EDUCATIONAL: 
ARITHMETIC TUTOR 
ALGEBRA TUTOR 

. SPANISH TRANSLATOR 

ENTERTAINMENT: 
ANIMAL QUIZ 
PLAY THE MARKET 
ENCRYPTOR 


EACH ON A HIGH QUALITY C-10 
CASSETTE @$9.95 EACH. 
SEND SASE FOR PROGRAM 
DESCRIPTIONS 


P & B SOFTWARE 
1155 E. MALIBU DRIVE 
TEMPE AZ 85282 


e ELEVATES AND TILTS KEYBOARD FOR LESS FATIGUING, MORE 
e PROVIDES NEEDED GRIP FOR 16K MODULE; PREVENTS GIGGLING 


e NEATENS WORK AREA WITH BOTTOM CAVITY FOR MANUAL, AND A 


in the 2 REMark instruction and stored 
in memory 16450. 

Because there are several branches in 
this subroutine, timing loops have to be 
inserted. The longest branch takes place 
when the 2 REMark Reader is initial- 
ized back to the first character address. 
This branch takes 70 machine cycles. 
When the 2 REMark Reader just in- 
crements to the next address it only 
takes 12 machine cycles. A 58 cycle loop 
was inserted so these branches would 
take the same amount of time. Another 
28 cycle loop was inserted for when the 
routine found only a NEWLINE 
character. A third timing loop was in- 
serted at the end to keep the whole rout- 
ing synchronized with the other 
subroutines. A list of machine cycles for 
each instruction is found in Z80 Assem- 
bly Language Programming by Lance A. 
Leventhal. 


The Expander Routine 
The expander routine makes a list of 
graphics from the characters found in 


Mr. Berch has it! 


2X81 Assembler 
2 pass, Standard Mnemonics 
Symbolic Expressions 
Decimal/Hex 
12K Basic & mach. code 


2X81 Disassembler 
Std. mnemonics, Dec/Hex output 
Assembler plus disassembler 
$15 ppd (cassette) 


Serial Printer interface 


(thru mic port) plans & listing 


RS-232 ASCII output $5.00 ppd 
NY res. 
add 7% 


Bob Berch 
19 Jaques St. 
Rochester, NY 14620 


SYNC Magazine 


PROGRAM FASTER! 


Now you can write and revise program listings faster than ever 
before. Never again count spaces for PRINT, PRINT AT, and 
PLOT functions. ROMARK SCREEN PADS are a larger, im- 
proved version of the ZX Basic Hand Book (page 89) showing 
line, column, and pixel numbers. We use heavy erasable paper, 
50 sheets per pad.. 


FIVE SCREEN PADS (250 sheets) 7:95 
“LEADFOOT” SILICONE FEET 4 for $1.50 
3-RING BINDER FOR 52x812 

SCREEN PAD SHEETS EACH 3.50 
SHIPPING AND HANDLING 2.50 


Send S.A.S.E. for Screen sheet sample & join our mailing list 
Graphics courtesy of Alan R. Greenleaf 


ZX/TS 1000 SCREEN LAYOUT 


w 


EF 
HHHH 


+ om2z-r- 


UEGereEae 
ABa Se we wer 
OSS a ELIIO 
WGA EM AS 

so) SON EG a 
Use = oe <j 


S3LVNIGQHOOD A 13XIid > 


as 
fe inl epi A eal eee er ee ee 1 
LIVIES ULI JSS CUUUCSUIS SE SRSSS SS Sees ee NEEN p) 
16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 
15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 


1-3 5 7 1t-4 
PIXEL Y COORDINATES —> 


OMARK INDUSTRIES, INC. 
20412-30 CENTER RIDGE RD. 
CLEVELAND, OHIO 44116 


o 


KEYBOARDS 


IF YOU DON’T MIND DOING IT YOURSELF, YOU 
CAN HAVE THE MOST FUNCTIONAL, AND EASIEST 
TO USE KEYBOARD AVAILABLE FOR YOUR ZX81 
OR TIMEX/SINCLAIR 1000. FEATURES 73 FULL 
SIZE KEYS WITH 46 AUTOMATICALLY SHIFTED 
FUNCTIONS, CONVENIENT EDITING/GAME KEYROW, 


AND SPECIAL GRAPHICS SECTION. 


WE WILL SUPPLY THE DOUBLE SIDED PC BOARD, 
3 COLOR SILKSCREENED KEY LEGENDS, PARTS 
LIST, AND COMPLETE INSTRUCTIONS FOR $30 OR 


WE WILL SUPPLY THE ENTIRE KIT FOR $80. 


RESEARCH APPLICATIONS PRODUCTS 
4561 Paloma Lane 
Yorba Linda, CA. 92686 


ALLOW 4 - 6 WEEKS FOR DELIVERY. INCLUDE 
$4 FOR SHIPPING AND HANDLING. CALIFORNIA 


RESIDENTS ADD 6 PERCENT SALES TAX. FOR 


ADDITIONAL INFORMATION SEND SASE. 


ZKi 


EDUCATION 
ENTERTAINMENT 
Personal Management 
16K Software On Cassette 


ZK-PARTY GAMES $9.95 
Five Games for Hours of Party Fun. 

Includes Charades (500 topics), Password (500 words), 
Improv-Skits, Gossip, and “Radio DJ”. 


PARTY GAMES FOR CONSENTING ADULTS $14.95 
Contains five games designed to entertain a gathering 
of close friends. Strip/Trivia, pits your knoweldge of 
trivia against your clothes. In “Body Twister’ the com- 
puter tells players where to place their hands, feet, etc. 
on other players. Three others. Write for information. 


ZK FOOTBALL $12.95 

This textual version of football features 12 off. players, 8 
defenses, solitaire or dual plays, auto time keeping, 
individually designed teams, and full team stats (includ- 
ing printer output). Plastic keyboard overlay. 


ZK BASKETBALL RELAYS (AVAILABLE 

NOV. 1.) 

Teams include 8 individually rated players who shoot, 
rebound and defend as in real life. Solitaire or two play- 
ers, 1981/82 Pro (23 teams) or College Top 25. $19.95 
each. 


PRIMARY ASSOCIATION $9.95 

A good way to introduce your three-six year old to com- 
puters, while reinforcing school work. Provides drills for 
matching, association, and basic comprehension. 


ARITHMETIC BASEBALL $9.95 

An entertaining educational program where children 
and adults compete evenly while learning. Questions 
range from simple counting to trig. Correct answers 
result in hits according to relative difficulty. 


HOME MANAGER $12.95 
This menu driven program stores info on 50 families 
(enough for most) on each cassette. Names, address, 
phone, and four lines of miscellaneous data (up to 8 
important dates). Sort on names or dates. Also includes 
printer output for address labels or complete files. 


WE OFFER A COMPELTE LINE FOR EDUCA- 
TIONAL, GAME, HOME AND PERSONAL 
MANAGEMENT PROGRAMS FOR THE 2X81 
AND TIMEX 1000. 


CATALOG $1.00 CREDITED TOWARD FIRST 
ORDER. | 


ZOR KHAN 
INDUSTRIES 
BOX 31567 
Aurora, Colorado 80041 


Full replacement warranty on all tapes. Add $1.00 
postage and handling. Colorado residents add 6.5% 
tax. Send check, money order, or VISA-MASTER 
CARD Acct. #, Exp. Date, and Signature. No C.O.D. 
Please. 


Figure 4. Making the Display File. 


_-_ nk ee 


Address Decimal Mnemonic Comment 
16494 Li; LD BC, NN load B reg. for 6 top lines. 
16497 12 INC C load C reg. with newline. 
16498 42, 12, 64 LD HL, (NN) get start of display file. 
16501 35 (1) INC HL point to next line. 
16502 113 LD (HL), C load line with newline. 
16503 16, 252 DJNZ DIS (1) repeat for 6 lines. 
16505 6, 4 LD B, N load B reg. for next 4 lines. 
16507 197 (3) PUSH BC save B reg. 
16508 65:32 LD B, N load B reg. for 32 spaces. 
16510 35 (2) INC HL point to first space in next line. 
16511 Sh, 12 LD (HL), N load in inverse space. 
16513 16, 251 DJNZ DIS (2) repeat until line is full. 
16515 35 INC HL point to newline position. 
16516 193 POP BC get B reg. 
16517 113 LD (HL), C load in newline. 
16518 16, 243 DJNZ DIS (3) repeat for 4 lines. 
16520 6, 14 LD B, N load B reg. for bottom 14 lines. 
16522 35 (4) INC HL point to next line. 
16523 113 LD (HL), ¢ load line with newline. 
16524 16, 252 DJNZ DIS (4) repeat for 14 lines, 
16526 Ww, 14, 6&4 LD hele HL tell DF-EA where field ends. 
16529 Mw, 16, LD (NN), HL tell DF-END where field ends. 
16532 175 XOR A load A reg. with 0. 
16533 50, 37, 64 LD (NN), A load line counter with 0. 
Figure 5. The First Part of the Display Routine. 

Address Decimal Mnemonic Comment 
16536 Got LD B, N load timing cycle with 1. 
16538 

to copy 4k rom from 321 to 403. 
16620 


the 2 REM instruction. The list of 16 
graphics starts at memory address 16429 
(see Figure 2). Because this routine takes 
so long, it was divided into four parts. 
Four graphics are listed each time the 
routine is run. 

The actual construction of characters 
is stored in ROM starting at address 
3583. To see how each character is 
formed multiply the code of a character 
by 8 and add 3583. Increment the an- 
swer and PEEK into that address. This 
will give the first byte of the character 
construction. Increment and PEEK 7 
more times to get the full character. See 
Figure 13 below. 


Figure 13. Character Construction. 


PEER (38x8+3583+7) = 65 = o10000¢ 
PEEK (38%8+23582+8) 


CODE (84) =38 Decimal Binary Bit 
76543210 
PEER (38*8+25683+1) = Oo = QPHÖÖÖÜÜ 
PEEK (38%*8+23563+2) moh oe OOLLE L400 
PEEK (38%8+3583+3) = 65 = o1000001 
PEEK (38*8+3583+4) = 65 = 01000001 
PEEK (38%8+35834+5) = 127 = o8f111111 
PEEK (38x8+3583+6) = 65 = 01000001 


Note that the binary 1’s form an A. 
The expander starts by initializing the 
character construction displacement and 
graphic list displacement to one. Then it 
takes the code of the character to be ex- 
panded, multiplies it times 8, adds 3583, 


52 


The CRASH GUARD is made of Heavy Gauge Bronze- 
Colored Acrylic. It has been designed to give you a 
rugged work base. At the same time, it virtually elim- 
inates crashes caused by bumping the computer or 16K 


module. 


To order by phone, call (816) 353-1690 


“CRASH GUARD” 


PROTECTS YOUR ZX81 
AND 16K RAM MODULE 


$19.95 


Eliminates crashes caused by bumping 
the 16K RAM module 


Helps prevent accidental unplugging of 
your 16K by small children 


Now you can move your computer with- 
out worry 


NAME 
ADDRESS 
CITY 


Please send me 


$19.95 each 


O Check Enclosed 


STATE ees JAR ee 


CRASH GUARDS® 
Acct. No. 


O Master Card 


0 Visa 


Exp. Date 


Allow 2 weeks for delivery 


EXPENSE CUTTER PRODUCTS, INC. 
P.O. BOX 9543 èe RAYTOWN, MO. 64133 


SYNC Magazine 


thers add $10 per suk 


SS ae, et SSS a SS ES 
PRINTER INTERFACE 


CENTRONICS STYLE PARALLEL PORT PRINTER INTERFACE 
ENABLES USER TO PRINT ALPHANUMERICS: AND SELECTED 
GRAPHICS SYMBOLS USING THE 8K-16K ZX-8@,2%-81, ØR THE 
TIMEX 1888 WITH THE AXIOM GP-100A PRINTER. 


CAlso comPatible with other Centronics Standard 

Printers. > 

Figure 6. Timer/Controller. 
PRINTER COMMANDS AND M7L. PROGRAMS ARE STORED IN AN 

8K MEMORY AREA NOT USED BY COMPUTER.PROGRAMS ALLOW 


PRINTOUT OF LISTINGS, SCREEN DISPLAYS, M/L CODE, TEXT-- Address Decimal Mnemonic Comment 

32 COLUMNS FOR LABELS, WIDE LETTERS, ETC., OR 63 COL- 

S: lant auld ERTEN AEE: a eh 16621 58, 68, 64 LD A, (NN) get countdown from 16452. 

16624 61 DEC A decrement countdown. 

ROM BOARD WITH 2K ROM AND 2K CMOS RAMEE, AND WITH 16625 32, 11 JR NZ, DIS (1) jump if not zero. 

COMPLETE INSTRUCT IONS-~~--~=~=--~~=~-~=—— $135 16627 58, 69, 64 LD A, (NN) get timer constant. 

SPECIAL BASIC PROGRAMS CAN BE STORED IN 2K CMOS RAM 16630 50, 68, 64 LD (NN), A reset countdown. 

Ef SNS TAT RECALL: 16633 205, 254, 65 CALL NN call line changer. 
16636 24, JR DIS jump to second part of display routine. 

Ea PoE ee Cae rip 16638 50, 68, 64 (1) LD (NN), A load decremented value into countdown. 
16641 2050; 0 CALL NN call subroutine that was loaded from 


previous subroutine. 
I-O BOARD 


PROGRAMMABLE 8255 PIO BOARD FOR MICROACE, ZX-80.ZXx-81 
OR TIMEX 1888 <8K-16K> CAN BE USED WITH ONE INPUT PORT 
AND TWO OUTPUT PORTS.OR THREE OUTPUT PORTS. EACH LINE 
CAN BE TURNED ON OR OFF ON ONE OUTPUT PORT. 


Figure 7. The Second Part of the Display Routine. 
FOUR OUTPUT LINES PROGRAMMABLE WITH 1US. PULSES. 


RESET LINE BROUGHT OUT ON I/O BOARD. Address Decimal Mnemonic Comment 
OTREENTRA $5 VOLT POWER MAY BE REQUIREDS 16644 
to copy 4k rom from 406 to 426. 
170 BOARD WITH PROGRAMS AND INSTRUCTIONS----- $45 16664 
16665 2055 173;. 2 CALL NN call show. 
16668 195, 152, 64 JP NN jump to first part of display. 
PROFESSIONAL ELECTRONICS 
109 CHESNEY LANE COLUMBIAL.S.C. 29289 
————SSFS SSS SS ee CC#&Figurre 9. Expander, Part A (1st quarter). 
Address Decimal Mnemonic Comment 
16725 5 Oe aa LD HL, NN initialize graphic list displacement & 38 
16728 Ww, 43, 64 LD (NN), HL character construction displacement to 1.] cycles 
16731 24, 5 JR DIS (1) jump over 38 clock cycle timer. 
ee a eo Pipare 10: Expander Part BION quarter ooa a a Seay 
Address Decimal Mnemonic Comment 
16733 62 ' ) LD B; N load timer. 38 
16735 200 2) RETZ run timer. |cycles 
ie 16, 253 DJNZ DIS (2) 
73 237, 75 
A SOFTWARE 43, 64 (1) LD BC, (NN) get character construction dis. into C reg. 
16742 6, 0 LD B, N set B reg. to 0. 
ALTERNATIVE TO 16744 33, 0 Q LD HL, NN load HL with code of character to expand. 
HARDWARE MONITORS ae a ADD HL, HL multiply times 8. 
167 ji ADD HL, HL 
16749 41 ADD HL, HL 
‘ 16750 Lye 1 LD DE, NN load DE with start of character const. list, 3583. 
A Machine Code Program ies z gee ADD HL, DE point to first byte in list. 
designed to VERIFY that the ieee E iis Aun i fee 
, \ clear Un. 
Program you thought you 16752 78" LD C, (HL) load C reg. with first byte. 
saved is reloadable without 16759 35 INC i point to second byte. AD 
i 16760 70 LD B, (HL load B rez. with second byte. 
having to clear the memory by 16761 62, 128 LD A, N load A to check bit 7. 
reloading EITHER embed 16763 87 (x) LD D, A save in D reg. 
i i 16764 161 AND C check bit n of first byte. 
VERIFY TESEN 16765 40, 6 JR Z, DIS (3) if no graphic table dis. then jump to timer. 
programs UR use as a 16767 62, 1 LD A, N load A with a displacement of 1. 
programming aid 16769 131 ADD A, E total displacement. 
16770 95 LD E, A save total in E reg. 
DOCUMENTATION INCLUDES pie ee 6 G) JR DIS (4) jump over timer. 
j i 773 oy d LD A, N 
2 Full instructions for 16775 61 DEC A 22 cycle timer. 
implementation ee 0 g NOP 
icti 16777 6 At: JR NZ, DIS 
x Program listing $3.00 16779 122 (4) LD A, D load A to check bit n. 
e Cassette $5.00 16780 160 check bit n of second byte. 
& | 16781 ho, 6 if no graphic table dis. then jump to timer. 
16k required 16783 G2, 2 load A with a displacement of 2. 
WI residents add sales tax 16785 131 total displacemert. 
16726 95 save total in = reg. 
SPACE BREAKER lis 24, 6 jump over timer. 
16729 62, 1 
P.O. Box 8104 16791 61 22 cycle timer. 
Green Bay, WI 16792 0 
54308 16793 32, 254 JR NZ, 
16795 122 (6) LD A, D load A for ckecking bit n. 


54 SYNC Magazine 


od 


Now Sinclair computer owners can 
have real personal security for 
communications,information,data, 
with the advanced capability of 


CYPHER 


MMenu-driven, touch-controlled, 
encode/decode/change/ scramble/ 
unscramble/save message/saveall 


(16K) 


Mconvenient operation requires 
no knowledge of programming, or 
previous experience with codes 

Have the security of unbreakable 

codes** with CYPHER from ROBILL 

Send $39.95 check or money Order 

to ROBILL PRODUCTS 555 Park Ave- 

nue,Paterson,NJ 07504 NJresadd5% 


EENE trial decoding requires >10 90 years /code ;>10290 codes 
Conditions of key number protection prevent security guarantee 
Also see our advertisement for MX-PAC in this issue 


SERIOUS PROGRAMMERS 


“MUST-HAVE” UTILITIES 
For ZX-81 and T/S 1000 Computers 


= READ/WRITE Cassette Data Files 
: Fast @ Flexible ® Error checking 
($10) Works in 2K RAM 


a SAVE/MERGE/ERASE BASIC 


($15) Powerful editing tool 
Merge BASIC programs 
Save BASIC program on data file 
Erase blocks of BASIC 
Use in 16-64K RAM 
(Includes read/write data files) 


Simple user interface via USR function 

Well—documented user manuals 

Available on tape cassette in 
relocatable machine language 


SASE for Info Check or MO delivers now 


re 
7s 


Sirus Ware 


6 Turning Mill Road 
Lexington, MA 02173 


ZX-80 8K ROM USERS 


16796 203, 15 RRC A load A to check bit n-1. 
16798 R7 LD DAA save in D reg. 
16799 161 AND C check bit n-1 of first byte. 
16800 40, 6 IRZ DIS: (7) if no graphic table dis. then jump to timer. 
16802 62, 4 LD A, load A with a displacement of 4, 
16804 131 ADD A, E total displacement. 
16805 95 LD E, A save total in E reg. 
16806 24, 6 JR DIS (8 jump over timer. 
16808 62, 1 (7) LD A, N 
16810 61 DEC A 22 cycle timer. 
16811 0 NOP 
16812 32, 254 JRZ DIS 
16814 122 (8) LDA, D load A to check bit n-4. 
16815 160 AND B check bit n-1 of second byte. 
16816 40, 6 JR Z, DIS (9) if no graphic table cis. then jump to tirer. 
16818 62,8 LD A, N load A with a displacement of 2. 
16820 131 ADD A, E total displacement. 
16821 95 LD E, A save total in E reg. 
16822 2h, 6 JR DIS (10 jump over timer. 
16824 62, 1 (9) LD A, N 
16826 61 DEC A 22 cycle timer. 
16827 0 NOP 
16828 32, 254 JR Z, DIS 
16830 122 (10) LD A,’ D save D reg. in A reg. 
16831 22,20 LD D, N set D reg. to 0. 
16833 93°72; OF LD HL, NN point to start of table. 
16836 25 ADD HL, DE add displacement. 
16837 ol LD E, (HL) load graphic code into E reg. 
16838 87 LD D, A restore D reg. 
16839 58, 44, 64 LD A, (NN) get graphic list dis. 
16842 50,211, 65. LDANN), A put dis, into (IX+d). 
16845 221 33, 
» 64 LD IX, NN load IX reg. with start of graphic list -1. 
16849 224.8 415, 0) ED-Cux4d), load graphic list with graphic code. 
16852 60 INC A increment displacement. 
16853 50, 44, 64 LD (NN), A save new displacement. 
16856 30, 0 LD E, N set table displacement counter to 0. 
16858 122 LD A, D get bit checker. 
16859 203, 15 RRC A rotate for next bit. 
16861 48, 156 JR NC, DIS (X) if all bits have not been checked then do again. 
16863 58, 43, 64 LD A, (XX) eet character construction displacement. 
16866 60 INC A increment dis. 
16867 60 INC A increment dis. 
16868 50, 43, 64 LD (NN), A save new dis. 
16871 254, 9 CP N check if all bytes of character have been used. 
16873 a 6 JR Z, DIS (11) if yes jump to run expander again. 
16875 NOP use 4 clock cycles. 
16876 33, 93, -65 LD HL, NN load HL with part B of expander. 
16879 » 5 JR DIS (12) jump to load caller. 
16881 zy 85, 65 (f)LD HL, N! load HL with part A of expander. 
16884 0 JR DIS (12) use 12 clock cycles. 
16886 a, 2, 65 (2 LD (NN), HL load caller. 
16889 100 LD B, N load time delay loop. 
16891 te. 254 (13) DINZ DIS (13) run delay loop. 
16893 201 RET return to caller. 
. Figure 11. Display Changer. 
Address Decimal Mnemonic Comment 
16894 221; 335.60, 64 LD IX, NN point to start of 32nd position list -1. 
16898 42, 12, 64 LD HL, (NN) point to start of display file. 
16901 1780 LD DE, NN load displacement for display file. 
16904 25 ADD HL, DE point to first character in 7th line. 
16905 62, 4 LD A, N set A for 4 lines. 
16907 eL (1) LD D, H load DE with HL for LDIR instruction's 
16908 93 LD E, L destination 
16909 25 INC HL load HL for LDIR instruction's source. 
16910 TRE LD BC, NN Toad BCifor:list of 31. 
16913 237, 176 LDIR rotate line. 
16915 50, 24, 66 LD (NN), A load displacement in (IX+d). 
16918 201, 1265-0 LD A, (IX+d) get graphic for 32nd position. 
16921 18 LD (DE), A load 32nd position. 
16922 58, 24, 66 LD A, (NN) get back displacement/line count. 
16925 61 DEC A decrement line count. 
16926 LO, 3 JR Z, DIS (2) if O then all 4 lines have been rotated. 
16928 35 INC HL point to first position of next line. 
16929 24, 232 JR DIS (1) go rotate next line. 
16931 33, 42, 66 (2) LD HL, NN load HL with start of 32nd position list 
routine. 
16934 M 2, 65 LD (NN), HL load controller to ake new list. 
16937 201 RET return to caller. 


November/December 1982 


Completely expand your ZX-80 with 
8K Rom to a ZX-81 with full use of Fast 
and Slow. Smooth flicker free per- 
formance! 


Complete Kit: $32.50 & $2.50 postage & 
handling; PCB only $19.95 & $1.25 
p&h; Parts Kit Only $1 2.55 & $1.25 p&h. 


The Expandable ZX-80 and ZX-81 

A book of hardware projects that you 
can build yourself, from memory ex- 
pansion to speech synthesis. Only 
$9.95 & $1.25 p&h. 


Program writers: We publish software 
and complete books. Write for details. 


COMPUTER ENGINEERING SERVICES 


The Jarrett Company 


P.O. BOX 1222 
SHOW LOW, ARIZONA 85901 


(Dealers Inquiries Invited) 


55 


Figure 8. 2 REMark Reader. 


Address Decimal Mnemonic Comment 
16671 42, 66, 64 LD HL, (NN) get adderss of character to expand. 
16674 126 LD A, (HL) load character into A reg. 
16675 50, 105, 65 LD (NN), A load character into expander. (16745). 
16678 35 INC HL point to next character. 
16679 78 LD C, (HL) load character into c reg. 
eee a 117 LD A, N F load a reg. with newline. Glock Cycles Required If: 
1 2 0 INC A 2 REM read- 
16683 185 CP Cc check next character for newline. er is reset |1 pata 
16684 32,42 JR NZ, DIS (1) jump to timing loop if not zero. 9 
16686 35 INC’ HL point to next character, é 
16687 78 LD C, (HL) load character into c reg. 7 
16688 62rd LD A, N load a reg. with high order byte of next 7 
Basic instruction. 
16690 185 CP C check for end of message. 4 
16691 32, 14 JR NZ, DIS (2) jump to timing loop if not zero. 7 
16693 42, 70, 64 LD HL, (NN) get address of first character in 2 REM. 20 
16696 24, 13 JR-DIS:.¢3 jump to reset 2 REM reader, 12 
16698 62, 2 (OIDA, N 
16700 0 NOP 
16701 0 (4) NOP 58 clock cycle timing loop. 
16702 61 DEC A 
16703 32, 252 JR NZ, DIS (4) 
16705 24, 4 JR DIS (3) 
16707 172 2) ID B, N 28 clock cycle timing loop. 
16709 16, 254 6 DJNZ DIS (5) 
16711 3, 66, 6% (3) LD (NN), HL load address of next character to expand. 70 7 7 
16714 39,854.65 LD HL, NN load HL with start of expander. ? 
16717 , 2, 65 LD (NN), HL load controller with start of expander. Totals for sach Dranch have 
16720 » 192 Dg load time delay loop. 3 to be approximately the 
16722 16, 254 (6) DINZ DIS (6) run delay loop. same 
16724 201 return to caller. 


and adds the character construction 
displacement. It then gets the first and 
second byte that forms the character and 
checks bit 7 of the first byte for a 1 by 
ANDing the byte with 128d, or 
10000000b, and comparing the result 


with 128d. If there is a 1, a displacement 
counter for the graphics table is loaded 
with a displacement of one. Then the 
program ANDs the second byte with 
128d to check bit 7 for 1. If a 1 is found, 
a displacement of 2 is added to the table 


displacement counter. Then bit 6 of the 
first byte is checked by ANDing with 
64d or 1000000b and comparing the re- 
sult with 64d. Ifa 1 is found, 4 is added 
to the displacement counter. Then bit 6 
of the second byte is checked. If a 1 is 


M.C. LOTHLORIEN 


A FANTASTIC RANGE OF 16K WARGAMES FOR THE 
EACH COMPLETE WITH COMPREHENSIVE INSTRUCTIONS. 


SPECIAL CHRISTMAS OFFERS SAVE UP TO $20! 
Separate games $14 (each); Buy 3 for $35, or all 5 for a fantastic $50 


1. TYRANT OF ATHENS. 
Can you survive long enough to turn Athens into the most feared state in the Mediterranean? 


Train troops, build warships, fight battles by land and sea against hostile Greek States and the vast Persian Empire. Many 
more features in this very addictive game. 


2. ROMAN EMPIRE. 

Your aim is to conquer the hostile countries surrounding Rome. Build armies, appoint Generals and 
fight campaigns. This challenging game takes full account of morale, fighting efficiencies, leadership ability, etc. 3 levels of 
play. Playing time 2 hours - 2 days! 

3. PELOPONNESIAN WAR. 

Set in Ancient Greece from 431-404 BC, covering the Great War between Athens and 
Sparta. Your goal is a final victory over the Spartans but you will need all your skill in a combination of diplomacy and military 
force before you even stand a chance. 3 levels of play. 


4. SAMURAI WARRIOR. 
How could you have fared as a Samurai in the 13th Century Japan? Face challenges from other 


Samurai and bandits. Are you a survivor? Or will you be forced to commit ritual suicide? 7 levels of play. 


5. WARLORD. 
A challenging game of analytical skill. You are a warlord in 13th Century Japan. You have to defeat attacks 


by other warlords and pirates, capture slaves and clothe and feed your troops. A companion game to Samurai Warrior. 


ALL PRICES INCLUDE FULL POST AND PACKING. 
CHEQUES OR INTERNATIONAL MONEY ORDERS PLEASE, PAYABLE TO 


M.C. LOTHLORIEN, 4 Granby Road, Cheadle Hulm, Cheshire, SK8 6LS U.K. 


ZX81 


56 SYNC Magazine 


SOFTWARE 


ZX81 - TS1000 


HARDWARE 


DR. FLOYD S 95 SIN16 
Psychoanalysis by computer? - well, not 
quite but Dr. Floyd will carry on a conver- | 45 16K RAM 


sation with you using psychoanalytic tech- 
niques giving the appearance of artificial 
intelligence. Requires 16K RAM. $10.95 


GRAPHICS PAC | 
An introduction to Sinclair graphics- 
includes: 2 random picture drawers, allow 
creation of “Pop” art. A screen formatter 
§ which allows placing any character 
anywhere on the screen. Complex pic- 
tures may be created & saved. Doodler 
allows line art drawings to be created & 
saved. Requires 16K. $10.95 


WORD PLAY 

Includes: “Jargon” - a jargon word 
generator. “Animal” - a fun game where ~ 
the player teaches the computer all about 
animals. “Story” - the computer writes 
stories using the players input names, 
places, etc. Can be very funny for kids. 
“Haiku” - the computer composes HAIKU 
like poetry. Requires 16K. $10.95 


SNAKES ALIVE 
A group of arcade type snake games. You 
must evade, box in, capture or destroy. 
Fast moving and a lot of fun. Requires 
16K. $12.95 


This RAM plug-in allows the user to run 
virtually all programs written for the ZX81 
or TS1000. Completely assembled & 
tested. The reliable one. 


SUPER SIN64 
$f so” 64K RAM 


This is the maximum directly address- 
able RAM that your ZX81 or TS1000 can 
use - Memory is used as follows: 0-8K 
Sinclair operating ROM. 8-16K switches in 
or out of use. Used for assembly 
language routines, memory mapped 
peripherals. Contents are safe from NEW 
and cassette (disc) loads thus allowing 
program-to-program communications. 
16-32K BASIC and assembly language 
user program area. 32-64K large data 
arrays & BASIC variables. 


All hardware is completely compatable 
with Sinclair add-on products. Both 
RAMS use the most reliable gold plated, 
bifurcated contact connector on the 
market. 

10 day return privilege on all hardware-90 
day parts and labor warranty-inexpensive 
extended service contract is available- 
WE SERVICE WHAT WE SELL. 


350 N. Lantana Ave., Suite 821 e Camarillo, CA 93010 


TO ORDER: 
Send Check or Money Order 
For the total plus: 

$3.00 shipping (Software) 

or $4.00 shipping (Hardware) 

Calif. residents add 6% tax. 
Phone orders: CALL 


805/ 482-3604 


All software is on high quality cassettes For credit card orders, include all 
and is replacement guaranteed. information on card. 


PROPOS TECHNOLOG 


GENERAL SYSTEMS CONSULTING 
2312 Rolling Rock Drive 
Conley, Georgia 30027 
SINCLAIR ZX81 and 

TIMEX SINCLAIR 1000 SOFTWARE 


16K minimum configuration 
Designed to help monitor your finances. 


1- AmornzalonS Fas nice fo OKA Ch ra, ORR Na 9.95 
Da CARR es iow Fd eke De Oe LAE 9.95 
PLANET FINDER FOR THE 16K TS-1000/ZX-81 Bo Agmuiy Evaluation ii ie. ss A hess wes eas fees 9.95 
Pe RRS si ca ee cd bee eden ook 9.95 

MERCURY, VENUS, MARS, JUPITER and 
SATURN Se ' 5. Bank Statement Balancer ................2.00008- 9.95 
are all visible to the naked eye. The ancients 6 Checkbook. ounulator soa a. cA es 9.95 
recognized that their special quality is that they move against 7. Depreciation Straight Line. ...............000 ec ee. 9.95 
the background of “fixed” stars. Predicting their movements 8. Depreciation Declining Balance ................... 9.95 
has been the preoccupation of geniuses for thousands of 9. Depreciation (ACRS) .........--- 6s eee eee eee eens 9.95 
years. Now these movements are well understood, buy only by 10. ee ae PRA PP ee OA ASCE 2 RETR SS FS Aah ARPES eae 
a few dedicated observers. Ephemeris V is designed for these bebe Sian atte alo eter. Oh cs aie eee meee ee 99 
| Toth d A EZ Home INVEntory sis A A oS a a aE 9.95 
people and others (ages 12 and up) who wish to join them in i Mome Pe a ao ee! 9.95 
this pursuit of basic knowledge. 16K reqd. l4. Home Equity Evaluation ...............00000 0c eee 9.95 
ENTER: date, time, lat. and long. (Lat. and long. can be 15. Real Estate Investing ...... eee nee 9.95 
perm.) Then choose a planet. In seconds Ephemeris V 6. Savings/Investments Analysis .................05. 9.95 
responds with: 7 ARS 10O (Cong Form) ia 3s tig A eraa aes 9.95 
1. Agi th d Altitud iB IRS 1040A (Short Form). 2 h oa En a a e 9.95 
ee ae pure 19. Income Tax Projections 0220.0 cos ie in Sao ee ee 9.95 


2. Right Ascension and Declination (for astronomers) 
3. Simple compass coordinates (for beginners) 
4. GRAPHIC DISPLAY of planet in current 
constellation 
5. LOCAL sidereal (star) time to aid in finding stars, 
comets, nebulas, etc. 
Own or give this incredible program and reap the harvest of real 
understanding forever! Comes on quality cassette with docu- 
mentation. Send a money order or check for $8.00 ppd. to: 
EPHEMERIS V, P.O. BOX 261, Winchester, KY 40391. 


Circle selections and fill out form below: — 00 
2 yo ec ee 
eE 1 A S16 1 A 


Number of items selected @:9:95 25 A 
Postage/Handling 1.50..... 


NAME 


ADDRESS 
CITY/STATE/ZIP 


MUSICIANS! 


Music theory & ear training program cassettes for 
TIMEX/SINCLAIR Computers (minimum 2K RAM). 


$5.95 for sample or send SASE for catalog of programs. a a ana dela bacon 


EVANSI Dani M Address Decimal Mnemonic Comment . 
- Vept. 
1246 Elmwood aie 16938 17, 64, 64 LD DE, NN point to bottom of 32nd position list. 
2 e 16944 221, 33, 45, 64 LD IX, NN point to top of graphic list. 
vanston, IL 60202 16945 58, 65, 64 LD A, (NN) get displacement for 32nd position list. 
16948 6, 4 LD B, N set B reg. for 4 graphics. 
169 79 AETS (1) LD a $ save displacement in oe 
16951 150700 LD (NN), A load displacement in (IX+d). 
*** for TIMEX/SINCLAIR computers *** 16954 221, 126, 0 LD A, (Tra) get graphio ‘fron avec TOE. 
LOST IN SPACE (uses SLOW) 16957 18 LD (DB), A load in 32nd position list. 
UNIVERSAL INVENTORY FILE a ae sett ie porat nd Dea op dee gh 
UNIVERSAL MAILING LIST ok tosh soe eee i ee 
, , 
UNIVERSAL COIN COLLECTION................ 10.95 16962 16, 242 DJNZ DIS (1) go do next graphic. 
UNIVERSAL STAMP COLLECTION 16964 58, 65, 64 LD A, (NN) get displacement for 32nd position list. 
16967 254, 3 CP N check if 16 graphics have been used. 
16969 40, 10 JR Z, DIS (2) if yes then initialize. 
16971 0 NOP use 4 clock cycles. 
16972 60 INC A increment displacement. 
Each program on cassette + manual. (8K 16973 50, 65, 64 LD (NN), A store displacement. 
ROM, 16K RAM). Please add $1.50 for ship- 16976 935185; 65 ID HL, NN load HL with start of part A of expander. 
ping and handling. N.J. residents add 5% tax. 16979 24, 9 JR DIS (3) jump to load controller. 
M.C. HOFFMAN CO 16981 175 (2) ae ) load A reg. to initialize displacement. 
vir : 16982 50, 65, 64 LD (NN), A store displacement. 
P.O. BOX 117, OAKLAND, N.J. 07436 16985 33, 31, 65 LD HL, NN load HL with start of 2 REM reader. 
16988 24, 0 JR DIS (3) use 12 clock cycles. 
16990 Ww, 2, 65 (3) LD (NN), HL load controller. 
oe ` 190 (i) LD 8, N load time delay 
16995 16, 254 4) DINZ DIS (4) run time delay. 
_ HOME CLOCK FAMILY BULLETINS 16997 RET return te Salton: 


TIMEX SINCLAIR 1000/SINCLAIR ZX81 16K- 


Continuously running clock calendar and family 
bulletins. User friendly allowing selection of over 
12 functions. Menu driven, large clock digits, set 
date/time/alarm, update bulletins, fully doc. Send 
$20 for program or SASE for brochure to: 


KING SOFTWARE 
85 Myrtle St., Lowell, MA 01850 


COMPUTER / VIDEO GAME 
REPAIR 
AID ELECTRONICS 
9711S. Petersham Dr. 
Houston, Tx. 77031 


16-32-48K expanda RAM 
$45-65-85 fits inside 
(outside add $8) list with a SASE 


Dancer 
9850 Metro Parkway West, suite 100 
Phoenix AZ 85021 


For ZX81&TSIOOO 16K cornice. 


NEW DOMINO Game S226 


challenging and exciting 
m Other New Games Available 
; send SASE for FREE S 
95 PHOTOLAB Ss 
eS pow 21124 


Kennedy SpaceCenter, FL. 32815 


Need a good game to ae to play or pro- 
gram? Circle Chess board with in- 
structions $5.00. Send your record- 
ed Circle Chess games and pro- 
foals for publication in Circle 
hess Journal, Box 63, Des 
Plaines, IL 6001 $. 


found, 8 is added to the table displace- 
ment counter. If 1 is in all four bits, the 
table displacement counter contains 1 + 
2 + 4 + 8 = 15. The table starts at 
16456 so 16456 + 15 = 16471 (see Fig- 
ure 2). This address contains 128d or the 
CODE for inverse space. This graphic 
represents the four bits in the first two 
bytes of the character being expanded. 
The expander loops until all the bits are 
checked and four graphics are listed. 
The remaining bytes are decoded during 
the next three times the expander is run. 

Now it is time to get ready to display 
again. The character construction 
displacement and graphic list displace- 
ment are saved and the controller is set 
so the routine will not initialize until af- 
ter the expander computes the graphics 
for the six remaining bytes. 

This expander routine contains timing 
loops as in the 2 REMark reader. There 
is one that is just as long as the initializa- 
tion so that the last three runs are times 
as long as the first run. There are loops 
so that finding a O takes just as long as 
finding a 1. If these loops were not in- 
cluded, each character being expanded 
would take a different amount of time to 
decode. Finally, there is a loop at the 
end to keep this routine synchronized 
with the other routines. 


The Display Changer 

All the other routines are prelimi- 
naries that take place during several 
vertical blanking periods. The display 
for the Horizontal Scrolling program 
has to be changed during one vertical 
blanking period to get a complete 
display. 


The display changer rotates the 
character in line 7 one space to the left 
with the Z80 LDIR instruction. The 
first character before rotation is elimi- 
nated. After rotation, the 32 position is 
filled with a graphic character from the 
“32nd Position List? which starts at 
16445 (see Figure 12). The routine loops 
until the next three lines are rotated and 
their 32nd positions filled with their 
graphics. Next the controller is set to the 
routine that computes a new list of 
graphics for the 32nd positions. 

There are no timing loops because this 
subroutine takes a longer time to run 
than any other subroutine. The display 
changer takes just as long to run each 
time it is run. : 


The 32nd Position List Routine 

This part of the program (see Figure 
12) was written to make the display 
changer run more efficiently since it 
takes the longest time to run. The graph- 
ics in the 16 graphic expander list are 
not in order to fill. the 32nd line po- 
sitions so another list of four graphics is 
made. 

After a new character from 2 REM 1s 
expanded, the Ist, 5th, 9th, and 13th 
graphics are listed in the 32nd position 
list? A displacement for the expander list 
is incremented and stored in memory 
16449 (see Figure 2). The controller is 
set for the expander and after another 
timing loop, the program goes back to 
finish the display cycle. The program 
will cycle through the expander and dis- 
play until the timer runs to zero and the 
display changer uses the graphics in the 
32nd position list. The controller is then 


SYNC Magazine 


set for the 32nd position list routine. 
After displaying again, the controller 
runs this subroutine again. The displace- 
ment is taken from 16449 so that the 
2nd, 6th, 10th, 14th graphics are listed. 
The cycle repeats until all 16 graphics 
are used. Then the displacement is reset 
and the controller is set to run the 2 
REM reader to get a new character. 


Loading the Program 

Since the loading for this program was 
designed for 1K RAM, the procedure 
was broken up into several parts. This 
makes loading somewhat difficult. So 
following the directions carefully is 
essential. 

Constructing the 1 REM Statement 

Make a 1 REMark statement that is 
exactly 6 lines long as shown. 


1 REM own wc ee 


a WE a On a E o SE OO Sn AT SE OS SS wE Eu ME Sr ra Ee er a a Fa w aE Sn a a A e 
i e o aY m a a d a u O O ELAN DS a AE T ae T E a M a e T a E a N E 
A M P a RN E ON e A a E A C ae D e E a S a T e O R O E a S O a 
Cr k a dk SAO e Ge E DS A S G n ar a O O e Ee ETO Sa AE N a E n e e a S 
2 e Oe 8 ee a sn Oe a a eM eR ee 8 eee She 


Duplicate the 1 REM statement to 
make the 2 REM statement by pressing 
EDIT, RUBOUT, 2 and NEWLINE. 
Two REM statements now appear on 
the screen. Add a third REM statement 
in the same way by pressing EDIT, 
RUBOUT, 3, and NEWLINE. Now 
only the 3 REM statement is on the 
screen. 

We will now combine these three 
statements into one REM statement by 
removing the end-of-line character 118 
at the end of each of the first two REM 
statements. Enter these instructions in 
the immediate mode (i.e., without line 
numbers): 

POKE 16619,0 

POKE 16815,0 
The one long REM statement which re- 
sults is scrolled off the screen so the 
screen is now blank. 


Entering the Loader Program 
Next, enter the loader program in Fig- 
ure 1. 


Figure 1. Loader Program. 

ePrints. TO 26357 

2 INFUT 4 

4 IF FEER (1i6421)=20 AND FEEK ¢ 
16420)=1 THEN CLS 

ao FRINT CHR ( (A510) 4+1) CHRE 
AS{TOO) +1) 242": 

ó FOKE I,A 

7 LET B=BR+Ā 

8 NEXT. .f 


This program must be kept short be- 
cause the 1 REM statement is so long 
and bytes have to be saved for displaying 
the data we are about to enter. 


November/December 1982 


The B variable is used as a checksum. 
We must initialize B before using the 
loader program. Enter the following 
instruction in the immediate mode: 

LET B=0 
In order to save B do not use RUN. In- 
stead, enter in the immediate mode this 
instruction: 

GO TO 2 


Entering the Machine Code 

We are now ready to enter the pro- 
gram that we have been developing since 
Figure 2. Enter the following numbers as 
they will appear on the screen four lines 
at a time to make checking easier. (The 
list starts at 16453 in Figure 2.) 


OSEE GS O 4 & z z 
121 135 a L336 oc LSaitoe 


1s4 tse 448°: 42°70). 645-354. S6 
G4) 550. 84°. aa 2 So 173 


seses sesse sesse proot pesee soseo seneo ERE sooie ssosn seose sesse pesee seses osses seses SENSO seese sosse seseo poses seese osses seses seeoe antes seose Seose soose spote seeme 


o: 61 . 64 6 ANA UN ier A E EEE ESAS o, 
eha E BN 8 Go OT 2 ee ee BA 
ae i Yc ghee © = meee Fs & 4 197 & 
Aik Sh oe eee he 2ok. od LPS 


i 06 Gas 6 a Se IS 1h 
252 34 14 64 #34 #16 64 175 
SO NSE Ge Bed 
Change line 2 of Figure 1 to: 
2 FOR I=16621 TO 16643 
Enter the following immediate 
instruction: 
GO TO 2 
and type in the following numbers: 
58 68 64 61 32 11 #58 49 
64 5O 68 64 205 254 65 24 
6 5O 68 64 205 oo oO 
Change line 2 of the Figure 1 to: 
2 FOR I= 16665 to 16997 
Enter the immediate instruction: 
GO TO 2 
and type in the following numbers: 


setes seese seese coeso seseo seses SHEED sosse smese seose seses seose soste HELO sesse soose seese soose seest osote SOME seese seose seses seses seose sesos seses soome Nene sesse 


a E E = a 2 © Oct hee See 
24 4 1 2 16 254 34 66 
64° 33. 85.65. 34 2 69 & 
192. 16 254 201 a 1 1 24 
43 64 24 3 & 2 200 2.16 
Zoe wor. Fa 43.°° 64 & SETE 
eO 4i 4i 41 OE N 
EA OF 4 C) (9) ERTA e Sa FO 


seese sesse sesse seese stese sesse seseo soseo seses SOURS seose seses seese sesse sesos seese seeos seees prios seess seoor seses Senet seee ssooe seese eben sesos soome soose soset 


Seres sesse soees socos semt seepe coeso seeoe seess spese sespe Sheet soose seses seseo soree soose sesos sesse sesse osese sesos posee sooee peoos issos seose seoes seess seoor sosse 


mese mese seese seset seseo ceses cesos sesse seese stere seses SEGRE coeso seose soose Senet deeep coeso seose coase seoee OEE cosse DEES sotoe sreee seeps seces seese seses coset 


Seese spese seese stese sesse sosse seses sesos seose sesos sesos seseo rouee seses seses ssooe seere seseo seset seese soose seoce sesse seese seose seset sesos sesos sosse 


64 60 460 50 43 64 254 9 
AO. GO SESS Se A 
33° (8S. 45 Je o 34 2 65 

& 100 16 254 201 221 33 40 


esses seses seses seseo serep seses soree soree seose sosoo sesse seste soset pesos soome seepe seese sesos oreet seos sesos peeso GOERS SHEDS SOURS GLOGS seost seese cosoe sooto sosse 


LR PRE E EEN e a EE aN oe aD E ed 
24 P S 42> _ 665 24 2. So 
201° .17 °° 64. 64 227.33 43." 64 
33 65 64 & Be Pe O 
66 221. 126 Qo PB Be Let alee 
4 16 242 38 65 64 254 2 
40 10 OE TOO: (EH Ges = a a 


seses ences sere esere ones means eemee Genes cesce ene antes cereo orere cosoe crees LenES ceeee GEESE SLE secre seese soome HERES croce cooee coase ceeste coooe coore seoon oooae 


Using the Checksum Routine 
Enter the immediate instruction: 
PRINT B 
and 29321 should appear on the screen. 
If it does not, you will have to go back 
and reenter the numbers. 


Processing the Machine Code 
Erase lines 2-7 by typing in each line 
number and NEWLINE. 
Enter the following program: 
2 FOR I=16538 TO 16620 
3 POKE I, PEEK (I-16217) 
8 NEXT I 
RUN this program (you may now use 
RUN). 
Change the above program so that 
will read: 
2 FOR I= 16644 TO 16664 
3 POKE I, PEEK (I-16238) 
8 NEXT I 
RUN this program. 


Entering Your Message 
Prepare a 1 REM statement with the 
message you want to rotate and enter it 
with the following program. For 
example, 
2 REM “SYNC” THE 
MAGAZINE 

FOR SINCLAIR USERS. 
500 LET K=USR (16472) 

Be sure to use 500 for the USR line 
because the program uses it for a flag to 
signal the end of the message. RUN the 
program and your message will contin- 
ually scroll across the screen. To exit the 
program, press BREAK. 

Interesting variations can be made in 
the program by POKEing different 
numbers into the appropriate addresses. 
For example, the speed of the scrolling 
can be changed by POKEing a number 
between 7 and 255 in address 16453. The 
display can be given variety by chang- 
ing the codes in the graphics table to 
their inverse codes. Fa 


59 


GLADSTONE-'-ELECTRONICS 


Cassette Software 


ZX FORTH 


Simplicity of BASIC with the 
Speed of Machine Code 


A complete implementation of the FORTH language for 
the ZX81 and TS1000 computer. 
FORTH’s most distinctive feature is its flexibility. The 
.basic unit is the word — the programmer uses existing 
words to define his own which can then be used in fur- 
ther definitions. FORTH is a compiled language so pro- 
grams run very fast (typically five times faster than 
BASIC). 
ZX-FORTH is supplied on cassette and is accompanied 
by extensive documentation: 

56-page Users Manual 

8-page Editor Manual 


Artic 


ZX BUG 


Machine Code Monitor and Disassembler 


ZXBUG is a powerful tool for machine language pro- 
gramming. It is 4K long and uses memory from 71EO to 
the top memory. ZX BUG works in hexa- 
decimal (base 16), not decimal, so all addresses are a 
maximum of 4 Hex bits long. Provides a total of 28 com- 


mands. 
$14.95 


GLADSTONE" ELECTRONICS 


$29.95 


GLADSTONE -ELECTRONICS 


Artic 


ZX 
ASSEMBLER 


This Machine Code program occupies 7K of memory 
and locates itself at the top of memory. The program is a 
full Editor/Assembler and Monitor. Labels may be used 
instead of any string. The features include Line Inser- 
tion/Delete, Insert Characters, Auto Repeat on all keys. 
The monitor has facilities to inspect memory, registers 
‘and run machine code programs. 

$14.95 


Artic 


TOOLKIT 


9 Powerful New Functions! 


RENUMBER. This routine renumbers a program in any 
step and from any line up to 9999 

DELETE. This command deletes a group of lines in a pro- 
gram. 

MEMORY. Prints how much spare memory is available. 
DUMP. Displays current values of string and numerical 
values, except arrays. 

FIND. Will find any string of up to 255 characters and list 
each line containing that string. 

REPLACE. Replaces any string of up to 255 characters 
by any other string. 

SAVE. Transfers program in computer to below RAM- 
TOP. 

APPEND. Allows two programs to be joined. 

REMKILL. Removes all REM statements from a program, 
otherwise leaving it unchanged, preserving memory. 


Artic $14.95 


GLaDsTon 


Mail order to 1585 Kenmore Ave. 


GLADSTONE--€LECTRONICS 


GLADSTONE ELECTRONICS 


GLADSTONE-'-€LECTRONICS 


Y 
S 
= 
S 
: 
= 
ba 
uy 
= 
S 
(z) 
À 
a 
ed 
© 


Get serious about Zx8i 
& TS 1000 Computing 


DATA STORAGE SYSTEM 


For 16K or greater ZX81 


PRICE INCLUDES: 


1. PROGRAM TAPE 

2. 8-PAGE BOOKLET 

3. THREE DATA STORAGE 
TAPES 

4. STORAGE CASE 


$34.95 


MULTIFILS PLUS e 
DS Ve TOE ES MAADE RO ET TS 
PROGRAM (C) FEES GUS -ETE 
CIE 


SET UP FILE PARANMEIERS 
E 


I 
I 


Ovda UN. 


SECURITY LOCK 
SAVE FILES ON 


ENTER YOUR CHOICE !1-8Ə) 


Data Storage System 


An amazingly versatile multi-purpose filing system for 
the 16K ZX81. The program is menu-driven, and number, 
size and headings of files are user-definable. Both string 
and numerical files are catered for. Files may be 
created, modified, replaced, and searched, and are pro- 
tected by an ingenious foolproof security system. Out- 
put to the ZX printer is also provided. The program 
comes on cassette, together with three quality data 
cassettes for file storage, and comprehensive documen- 
tation, describing a host of applications for both 
business and personal use. Supplied in an attractive 
storage case. If your ZX81 is bored with playing games, 
then this program will give it plenty to think about! 


The Complete ZX81 
and TS1000 Library! 


The Complete ZX81 Basic Course 

Basic Course Cassettes (2)..................--- 7.50 
Getting Acquainted with your ZX81.............. 8.95 
ZX81 Pocket Book 

Making the Most of Your ZX81 

Computer for Kids, ZX81 Edition ................ 3.95 
Explorers Guide to the ZX81 

2X81 Gompamnon . 5 foc. ee SE See 8.95 
49 Exploding Games for the ZX81 

Not Only 30 Programs for ZX81 : 1K 

Machine Language Made Simple for Sinclair .... 
Mastering Machine Code on your ZX81 

ZX81 Rom Disassembly: Part A 

ZX81 Rom Disassembly: Part B 

Understanding your ZX81 ROM 


CALL OR WRITE FOR FREE CATALOG 


LECTRONICS 


I RR MANA AA MARANON 
£ 


with Quality Hardware and Software 
from Gladstone Electronics 


ZX81 Professional 
and Case 


A full-sized professional keyboard for the ZX81 Features 
47 keys and a full-sized space bar. Connects to the ZX81 
with no soldering required, via a plug-in flexible connec- 
tor. You can purchase the keyboard only, or the optional 
metal case that holds both keyboard and ZX81. Expan- 
sion devices (i.e. RAM packs, etc) connect to the ZX81 
edge-connector which extends from the rear of the 
cabinet. 

A professional keyboard makes program entry easier 
and less error-prone. 


Keyboard 


Keyboard (KB-1) ............... $85.00 
Metal case for keyboard 
ahd ZX81(MC-1) ...............- $25.00 


RAM sss. 


A sensible choice for 16K RAM owners. Jigsaw 32K RAM 
‘piggy-backs’ onto your 16K RAM to give a total memory 
of 48K! If you do not own a 16K RAM, you may use a 32K 
RAM instead. At a later date you may add the ZX81, 
TS1000, or Jigsaw 16K RAM, should you decide you re- 
quire more memory. 

A very useful, unique Jigsaw memory feature is the pilot 
light showing if your ZX81 computer/memory is 
powered. 

Larger memory enables longer programs and greater 
data bases, enhancing the value of your personal com- 
puter. And the Jigsaw 32K is part of a fully compatible 
ZX81 and TS1000 system of add-on products, Additional 
exciting Jigsaw products to follow shortly! 


BEX RAM: 49.95 


Expands the ZX81’s memory capacity to its maximum. 
Use instead of 16K RAM. Same features as other Jigsaw 
memory products including pilot light and full com- 
patibility with other upcoming Jigsaw products. 


16K RAM $49.95 


Equivalent to ZX81 or TS1000 16K RAM. Fully compati- 
ble in appearance and performance with other Jigsaw 
products. 


Call (716) 874-5510 


For Visa, MC Orders 


Buffalo N.Y. 14217 Checks or money orders. No CODs. Add shipping 


Introducing 


JARANI 


The Ultimate 
Adventure 


With a 10,000 pounds sterling 
(real money!) 
pay-off 


‘MY SON,by the time you receive this package, I will be 
dead. This is my legacy to you. All my life | have worked 
hard to make a living and save money for your future. As 
you know I was an international courier. Contained on 
this cassette are 12 clues of an international flavor, 
which will furnish you with the information to gain ac- 
cess to a bank account. In that bank account is a 
minimum sum of 10,000 pounds sterling, which I have 
accumulated on your behalf over the years. The longer 
the sum remains in the account the greater the amount 
will become. | could have bequeathed the money to you, 
but | feel it is in your interest to solve these clues. Then I 
will feel you are mature enough an adult to handle this 
legacy. 
God bless you always, your loving Taibon. 

So begins KRAKIT, the ultimate adventure and treasure 
hunt on the ZX81. The bank account and the prize actual- 
ly exist. Crack the puzzle and the prize is yours! Krakit 
consists of 12 clues. In each clue there is a reference to 
a country, a city or town and a number. When you have 
solved the first clue, you will need to enter the two 
words and the number to release the next clue. It is 
necessary to solve all the clues to find the correct 
answer. If you do you will be supplied with two airplane 
tickets. When you arrive, a check for a minimum amount 
of 10,000 pounds sterling will be presented to you. Fur- 
thermore for every copy of Krakit sold a further dollar 
will be placed in the bank account. 

Here is the type of clue you will find in Krakit: 
‘Where it all began. Where the torch was first lit. Where 
muscles and sinews strain. Where our heros won ac- 
claim. 

Where the symbols hold the key.’ 


KRAKIT.16K RAM $19.95 


RULES. 1. The first person to be confirmed by the judges. 
to have completed all the clues correctly will be the win- 
ner. 2. There will be one winner only. 3. No person 
related to |.P.S. is eligible. 4. Offer not valid where pro- 
hibited by law. 

*Trademark of International Publishing & Software, Inc. 


MAZOGS 


MAZE 
ADVENTURE 


$9.95 


A new standard in. ZX81 programming. MAZOGS 
presents the best use of ZX81 graphics to date Written 
in machine code, MAZOGS is fast, exciting, and 
challenging! 

You are confronted by a large complex maze which con- 
tains a fabulous Treasure. Within the maze are the 
Mazogs who will involve you in combat when you meet 
them. Each game begins when you meet them. Each 
game begins with a different randomly created maze. 
You will not see all of the maze. As you move through 
the halls, you will be startled by the quality of the 
graphics animation and the speed with which the game 
progresses. 

Once you have mastered the first two levels of the game, 
you are ready to challenge the Maniac Mobile Mazogs 
who move about in a totally unpredictable manner. 

To those who say the ZX81 is not a good games-player: 
we suggest you try your luck with Mazogs! (16K or 
greater) 


MAZE ADL JENT IRE GANE, 


Have fun with ZX81 
& TS 1000 Computing 


GALAXY 
INVADERS 


$14.95 


An excellent version of the classic space game. Protect 
your seven lives against fleets of hostile invaders, who 
swoop down and attack quickly. This version is an ex- 
cellent demonstration of the capabilities of the ZX81 or 
TS1000 to entertain and excite for hours. 


ZX 
SCRAMBLE 
$14.95 


Pilot your space craft through a fast moving, complex 
space maze. Watch out for missiles being fired from all 
directions. You can shoot back or evade them. Written in 
machine code for fast-paced excitement. 


MARINE 
RESCUE 


$11.95 


Your ZX81 becomes the command console as a diver 
descends to the sunken submarine Nautilus to rescue 
as many of the stranded crew as possible. It’s a race 
against time as your oxygen supply must be replenish- 
ed. It’s also a constant battle against marauding sharks 
which you can attempt to blast with your laser. 


GLabpsTon 


CHARGE TO: 
§Clvisa [] MASTERCARD 


pee number: 


amare 
le ees 


Signature 


i Date 
§ NAME 


a ADDRESS 


F CITY: STATE: 


ORDER — 


eT ee Ce Pe meee eee nen ae ee ee ee 


Please rush me: 


Now Choose 
from 3 great 
games! 


ZX CH. ESS = 


Full graphic display of chess board. Six levels of play, 
two of which play within competitive time limits. You 
choose black or white. Plays all legal moves including 
castling and en-passant. You can save games in pro- 
gress on cassette. Displays moves of game on screen, 
or output yo printer, for analysis. Board can be set up in 
any position, you can even change sides mid-game. 
Clear entire board with one command: for end game 
analysis. Written totally in machine code, ZX CHESS 
(Enhanced) is a superb game for the advanced chess 


player. 
16K $12.95 


ZX CHESS II (CHESS MASTER) 


The strongest chess game available on ZX81. ZXCHESS 
ll has not ben beaten. All the features of ZX CHESS 
(Enhanced), plus much more. Has a book of 32 opening 
moves. Can play at 7 levels, four of which play within 
competition time limits. A move is suggested by the 
ZX81 if requested. 

$24.95 


16K. 


1K ZX CHESS 


A good introduction to chess for 1K ZX81/TS1000 
owners. Even within this limited memory space, a full 
graphic representation of the chess board is included. 
Single level of play. Does not accept castling or en- 
passant moves. 


BLACKJACK 


Blackjack at its best. Blackjack as it played in the 
casinos of Nevada. Up to five players can play against a 
dealer with a fifty-two card deck. Split pairs, double 
down, and even buy insurance. The deck is reshuffled 


only when needed — allows for a continuous game. 
Your winnings and losings are displayed after each 
hand. 

Adventure Games! 

Galactic Commando...............--.2++++05: 11.95 
Crown & Scaptor oaio gs wig Fee oes 11.95 
Tank raD- eo eo 9S rs a PEST AE 11.95 


Sint Machine. e Tee Pe See ANa 14.95 


LECTRONICS 


i 
TE A a 
I b. 

New York : 
Res. add cd f 
T 

i 

a 


tax 
SHIPPING 
y4| eae TOTAL ____ 


To: Gladstone Electronics, 1585 Kenmore Ave., Buffalo N.Y. 14217 
eZ Hee E E E E E E E E E E Ee EE 8 


Call or write for free TS1000 & ZX81 catalog 


sjiuo4i9312 -JU0LS0E19 


$12.95 


SJilU0Y41271+-3U01S0E19 


=a 


“ll 


4 SJIUOY1IJI¥ ;-JU01S0E19 


$21U0819317..3U01Ssade19 


S91U0419313-, -3JU0LS0e19 


$21U0819317 -3U01S0E19 SIJIUOYLIJI+ -JU0180E19 


8K ROM 
16K RAM (1K RAM) 


Line Print Utility martin Albrecht 


Reading computer-style text, where the 
words get chopped off at the end of the 
line, is easy enough once you get the 
hang of it. However, if the printout of a 
program is intended for use by people not 
used to this style, it is friendlier to PRINT 
out the text in a more legible format. 

Listing 1 is a simple subroutine for the 
Timex/Sinclair computers that will 
PRINT a string text in such a way that 
the left margin is straight and each line 
ends with a whole word. 

This rudimentary word-processing util- 
ity uses a pair of nested FOR-NEXT loops 
and exploits the unique string-slicing capa- 
bilities of the Timex/Sinclair. 

Here is how it works. After the string 
text is registered, line 20 sends the com- 
puter to the 32nd element in the string. 
Since the Timex/Sinclair video format 
prints 32 columns across the screen, the 
32nd element of the string will be at the 
right-hand margin of the first line of raw 
text. At this point (R), lines 30 and 40 
start the computer counting backward (R 
minus K), inspecting the code of each 
successive string character. If code 0 (the 
space) is found, the machine jumps out of 
the K loop to line 60. Here it is command- 
ed to PRINT the slice of A$ that starts 
with the 31st element counting backward 
from R (here, the first string element, 
since 32-31=1) and ends with the first 
space character it met on its backward 
search from R. This gives the first process- 
ed line of text. 

The trick now is to make the machine 
print out the second and subsequent lines 
by the same rules. 

Simply incrementing R by 32, thus send- 
ing the machine to the 64th string ele- 
ment will not do, except in the unusual 
case that the 32nd element happened to 
be a space. In the more common case, 
the machine has to “dump” one or more 
string elements in its backward count 


Martin Albrecht, 1143 McKinley Ave., #17, 


Oakland, CA 94610. 


62 


from element 32 until it encounters the 
first space. These “dumped” letters, of 
course, make up the first part of a 
chopped word, and they must be recov- 
ered to begin the second line of processed 
text. If we send the computer to string 
element 64 to begin its space search, we 
will have gone past the right-hand margin 
of the second line of text and be some- 
where in the third line. Consequently, the 
letters dropped from the first line will be 
lost. Our starting point for searching the 
second line has to be not 64 (the 64th 
string element) but rather, 64 minus the 
number of dropped letters. This number 
is given by the value of the counter, K. 
Therefore, we decrement the value of R 
by K (line 70 of the program) and only 
then do we increment R by STEP 32 and 
start the cycle anew. 


Listing 1. Line Print Utility. 

10 LET Af=" (YOUR TEXT TO BE P 
ROCESSED) “ 

20 FOR R=32 TO LEN AS STEP 32 

50 FOR K=@ TO 32 

4@ IF AS (R-K) =<CHRS @ THEN GOTG 

NEXT K 
6a PRINT RAS(t(R-323} TO {R-K}} 
8@ IF (R+32)>LEN A$ THEN GOTO 


390 NEXT R 
180 PRINT AS(({R+i3 TO } 


Everything proceeds smoothly now 
until the program gets to the last line of 
the raw text. If, as is usually the case, this 
remainder has fewer than 32 elements, 
then the next STEP value of R would 
exceed its limit of LEN A$. The program 
therefore balks. It might be though that 
this could be fixed by raising the limit of 
R, say to the value LEN A$ + 32, but this 
does not work. Any element of A$ with a 
subscript higher than LEN A$ will not be 
found when the computer gets tp the 
PRINT command, and again we get error 
report 3—subscript out of range. The 
solution is line 80, which inspects the 


: value of R to see whether the next incre- 


mental step would exceed LEN A$. If so, 
the machine is directed to line 100 with 


its command to print everything from R 
+ 1 (the last space plus one) forward to 
the end of the string. 

The ZX81 handles this slightly complex 
operation, in which the slicing subscripts 
are themselves expressions, with remark- 
able dispatch. It spits out the processed 
text at a rate of better than five lines to 
the second, in SLOW mode. It could be 
made to go marginally faster by limiting 
the value of K to, say, half the line (16) or 
even less, since there are few words of 
this length. But this does not seem neces- 
sary. If the string text contains a word of 
more than 31 letters, however, the pro- 
gram in its present form breaks down. If 
this is liable to be a problem, you can 
always add line 

45 IF K=31 THEN PRINT A$ 
In other words, if the word is too long 
forget it! 

This routine prints the text flush left, 
ragged right. There is a clean left margin 
without the leading spaces that occur in 
the raw text. If instead you want to print 
it flush right, ragged left, then enter the 
following lines in Listing 1: 

60 PRINT TAB K; A$((R-31) TO (R- 
K)) 

100 PRINT TAB (LEN A$+1-R); 
((R+1)TO#) 

It should not be too complicated to 
add further modifications that run cen- 
tered with both sides ragged or flush on 
both sides with the extra spaces distribu- 
tion throughout the line. 

By adding program line 15 PRINT A$ 
(and 16 PRINT for clarity) you will obtain 
a before-and-after comparison between 
the raw and the processed string. 

This short utility routine shows that a 
computer need not be loaded with mega- 
bytes of memory to clean up its PRINT 
act. Of course, this routine cannot accom- 
plish hyphenation of words. But for the 
modest purpose of making the PRINT 
output of the computer more legible to 
the user, it works just fine. 


SYNC Magazine 


An Essential addition to your 16K RAM ZX81 
TOOLKIT (written by Paul Holmes) 


Provides the following additional facilities: 

Line renumber - you State starting number and increment 
value 

GOTO's and GOSUB's included in line renumber 

Search and List - Searches for and lists every line 
containing specified character 

Search and replace - changes every occurance of a 
character as you require 

Free space - tells you how many free bytes you have left 


SPECIAL GRAPHICS ROUTINES 
Hyper graphics mode -graphics never seen on a ZX81 
before 


Fill - fills your screen instantly with your speci!.ed character 


GAMES PACK 


Beat this for value! Five 16K programs 
Plus two 1K programs 

3-D Battle (M code 1K) 

City Bomb (M code 1K) 

Warp Wars (Basic & M code 16K) 
Snake (Basic 16K) 

Sweet Tooth (Basic & M code 16K) 
Slalom (Basic 16K) 

Black Holes (Basic 16K) 


ALL ON ONE CASSETTE FOR 
ONLY $9.90 (£4.95) 


“ASTROLOGY” 


FOR ZX-81/80/TIMEX (16K) 


* CAST HOROSCOPES COMPLETE 
WITH CHART 
* LOCATE PLANETS 


ASTROLOGY COMPUTES THE POSITION OF THE PLANETS IN THE SKY FOR 
ANY TIME AND ALMOST ANY PLACE IN THE 20TH CENTURY. ALSO COM- 
PUTED ARE SIDEREAL TIME AND JULIAN DAYS. THESE FEATURES MAKE 
“ASTROLOGY” USEFUL NOT ONLY FOR THE PURPOSE OF CASTING 
HOROSCOPES BUT ALSO TO ASTRONOMERS FOR LOCATING THE PLAN- 


CRUISERS GAME 


(16K - ZX81) 
First computer version of this popular 
game of strategy and tactics. Both 


Reverse - changes each character on your screen to its 
inverse video 


TAPE ROUTINE - provides a system WAIT condition 
until a signal is received in the cassette ear jack. 


All these routines are written in machine code and together 
take up only 1K of your precious RAM - an incredible 
achievement!! 


FOR 16K ONLY $9.90 (£4.95) 


grids on view together. Establish the 
position of your fleet then locate and 
destroy the computer's fleet. Visual 

display shows hits and misses made 
and gives running score 


ONL Y $9.90 (£4.95) 


© GRAPHICS TOOLKIT 


(another masterpiece 


by Paul Holmes) (ZX81 - 16K RAM ONLY) 


22 exciting MACHINE CODE routines that give you control over your screen as never before! 
ETS. CAST HOROSCOPES FOR FRIENDS AND FAMILY AND PAY FOR “AS- Draw/Undraw draws or deletes your multi Oriscroen/Ofiscreenturnsvourscreen' oh OF at 
TROLOGY” MANY TIMES OVER! character shape which is defined in a REM Background On/Off Fills your screen by your 
vests ay Rc hie A as seid aa ae specified character. When foreground is on existing 
shapes as you like and Craw Or undraw each al wi information.is unaffected and shapes will appear to 
DIGITAL POSI-LOAD TAPE WITH INSTRUCTIONS AND CHART $20.00 at whichever screen position you choose Tes i iaet GF clr BEGGS vais e 
: Foreground On/Off use this to ‘protect’ existing Search and Repl i h 
mises ` place will search the screen for 
OPTIONAL—RECOMMENDED BOOK THE ASTROLOGERS HANDBOOK characters on your screen. When on new shapes every occurrence of the character you specify and 
(HARDBOUND) BY SAKOIAN & ACKER—PUB. HARPER & ROW $18.50 . will appear to slide behind and re-emerge from replace it with your new character 


other shapes 


2 Square draws a square or rectangle from your 
Border/Unborder Draws a border round the edges specified co-ordinates. 


of your screen area. Edit lines can be used if required 


H A M-AID 


Yourborder is protected when foreground ts on. All these routines are in machine code for SUPER 
2X81/80/TIMEX (2K) Fill Fills any number of lines you specify, starting at FAST response! Simply load GRAPHICS 
any line you specify, by your chosen character TOOLKIT, which repositions itself at the end of 


your RAM, and then your own program (or key ina 
new one), GRAPHICS TOOLKIT uses only 2K of 
your RAM and that includes space ‘to load the 
programmers TOOLKIT described above 


* THE ELECTRONIC CALCULATOR 


CALCULATE REACTANCE, RESONANCE, RESISTORS IN PARALLEL, AND 
EVALUATE EXPRESSIONS 


POSI-LOAD TAPE WITH INSTRUCTIONS $8.00 


Active Designs 
1108 BILTMORE DR. 
NASHVILLE, TN 37204 
615-297-4755 


Reverse Converts all characters to their inverse 
video, control as in FILL 

Print Position Controls 

UP, DOWN, LEFT, RIGHT | alter your next PRINT 


position in the direetion indicated ALL FOR ONLY $11.90 (£5.95) 
Editprint Moves next PRINT position to first edit line 


This includes a cassette with 2 copies of the 
program, 2 copies of a demonstration program, 
plus a comprehensive instruction booklet with 
examples 


Scroll facilities 

UPSCROLL, DOWNSCROLL, RIGHTSCROLL, 
LEFTSCROLL Scroll your screen in the direction 
indicated 


PLEASE NOTE ALL PRICES ARE FULLY INCLUSIVE AND ARE APPLICABLE FOR EXPORT INCLUDING AIRMAIL POSTAGE 
PAYMENT MAY 8F MADE IN STERLING (MONEY ORDER AVAILABLE AT YOUR BANK? OR YOUR OWN U S $ CHEQUE 
MADF PAYABLE TO JRS SOFTWARE DESPATCH NORMALLY 7 DAYS FROM RECEIPT OF ORDER 


19 WAYSIDE AVENUE, WORTHING, SUSSEX. BN13 3JU Telephone: (0903) 65691 


Make your 
Computer Speak! 


Introducing the Namal Super Talker. 


Infinite vocabulary 

560 common words dictionary 
2K x 8 Ram Board to program your own words. 
Attractive plastic casing. 

Built in speaker 

Simple to program 

Timex and Sinclair Version Price $99.95 : 
Spectrum Price $139.95 For any other computer 
with RS 232 Interface Price $159.95 


International money order or certified cheque inclusive of 
Postage and Packaging payable to Namal Associates 


Namal Associates 25 Gwydir Street, Cambridge, CB1 2LG ENGLAND 
Telephone: (0223) 355404 Telex: 817445 
mee Ee Eee Eee Ee eee eee ee ‘MMM å‘ ee ee ee ‘M 
Please rush me (Quantity)...... Timex/ Sinclair Super Talker@ $99.95 
Please rush me (Quantity)...... Spectrum Super Talker@ $139.95 


Please rush me (Quantity)...... RS 232 Computer Super Talker@ $159.95 
Add Postage and Packaging $4.50 | Enclose $ 0.0... ceeecceccccccecceceseseseeteeeeeeees 


EE eS ee ee 2 inarure 


Address 


S/ N/ Dy ST 


(CESS n a a a ate a Mee tL ely ge REP TONER a a yy. Cryst Rector 


Hardware Breakthrough! 


*% = ZX-Man 
$1495 


Æ% Joystick 
$1495 


*% Keyboard 
$7495 


full-size assembled 
w/leatherette case 


FULLY ASSEMBLED KEYBOARD 


1) Fully assembled 3) 30 Day Warranty 
2) Includes Key Cap Legends 4) 2X80/ZX81 compatible 
5) Some soldering necessary 


THE INNOVATORS 
ARE COMING 


Call or Write for more information 


American Express, Visa, Master Charge, Money order, pc (allow 2-3 weeks to clear) 
Please add $2.50 postage & handling 
Illinois residents please add 5% Ill. sales tax 


Visit our Showroom 10:00 - 6:00 Monday thru Saturday 


MICROCOMPUTERS PLUS, INC. 
ee 349 EAST MAIN ST. 
ver GALESBURG, IL 61401 


ards : | PHONE: (309) 342-9572 
cut: fA A , 


EXPRESS 


| 


Large Letters for the 


8K, 2K Machine Joe Carroll 


Getting personal and small business 
computers out into homes and small 
offices depends on having software sup- 
port available. The software writer must 
use his imagination and every tool he can 
find to make his programs self-prompting, 
fast, and easy to use. 

One tool that has been useful to me is a 
Basic subroutine to create 4x4 characters 
for the 8K ROM. The routine works well 
enough and enhances the display. How- 
ever, it is slow. If used repeatedly, the 
delay can be irksome. The annoyance is 
not user-friendly! The obvious solution is 
to write a machine language subroutine 
to do the work. 


Getting Organized 

Like many solutions, this created new 
problems. The first step was to write a 
development program. I came up with a 
flexible, menu driven, decimal, hexa- 
decimal machine code loader, reader, and 
reviewer. 

Next a decision had to be made about 
where to hold the machine code. I 
decided to use REM statements. This is 
the most convenient and sturdy way, and 
the code can be easily SAVEd. There are 
a few drawbacks though which will be 
taken up later. 

Dimensioned arrays were chosen as the 
best way to store the original and 
expanded strings. Arrays are easily 
addressed from the Basic program, of 
course, and, when entered as the first 
variables, they can be addressed by the 
machine code program by indexing from 
the VARS pointer. Each dimensioned 
array will keep its size and indexed posi- 
tion from the VARS pointer constant. 


The Initial Listing 

Let us look at the following program 
which shows the general organization of 
the program. 

1 REM (at least 32 bytes) 

2 REM (150 to 160 bytes) 

10 DIM A$(8) 
12 DIM X$(128) 

I REM will contain 32 graphics char- 
acters used to build each expanded char- 
acter. 

2 REM is the body of the machine code 
subroutine, about 141 bytes plus spares. 

10 DIM A$(8) is the first variable 
loaded into VARS. It is loaded from a 
Basic program with the characters to be 


Joe Carroll, 3422 Mimosa Ln., Huntsville, AL 
35810. 


November/December 1982 


expanded. The address of the first ele- 
ment of A$ is (VARS)+6, PEEK 16400 
+ 256 * PEEK 16401 + 6. The file name 
and all use the extra six bytes. 

20 DIM X$(128) is the second variable 
loaded into VARS. It is loaded by the 
machine code routine from A$ to form 8 
expanded characters, 16 bytes per char- 
acter. It forms 4 lines of 32 characters. 
The address of the first element in X$ is 
(VARS)+20. 


Brief Program Description 

The program first finds the address of 
A$ and X$, then clears X$. X$ is divided 
into 8 4x4 blocks. For each inverse 
character in A$, the corresponding 4x4 
block in X$ is coded for the inverse 
character set. Next, it finds the address 
of the character generator for each 
character in A$. The character generator 
for a space, CHR$0, starts at 7680 and 
has 8 bytes of all zeros. The character 
generator for the letter A, CHR$38, starts 
at 7680 + (8 x 38) = 7984 and looks like 
this bit pattern: | 

7984 00000000 
7985 00111100 
7986 01000010 
7987 01000010 
7988 01111110 
7989 01000010 
7990 01000010 
7991 00000000 

64 characters are generated this way. 
All other characters are combinations or 
inverses of these 64. 

The program divides this bit pattern 
into 16 blocks and loads each bit pattern 
one bit at a time into X$. Now each 
element in X$ has a value between 0 and 
31, which represents a graphics character 
in 1 REM. The last part of the program 
uses this value to load that character back 
into X$. 


Loading the Program 

To load the machine code, enter the 
REM statements as follows: 

1 REM followed by at least 32 char- 
acters and a few spares. 

2 REM followed by at least 150 to 160 
characters. (The character entered is 
immaterial. One convenient way of enter- 
ing is to use 1234567890 and repeat the 
sequence until the required number is 
reached. In this way you can easily count 
how many have been entered.) 

Then to find the addresses of these 
REM statements, add the program in 
Listing 2, hit ENTER, and RUN 1000. 
After you find the addresses, write them 
down. No, not on the blotter. Be organ- 
ized and keep notes that you can refer to 


8K ROM 
2K RAM 


later. The 1 REM statement should start 
at 16514. 

Figure 1 gives the hexadecimal and 
decimal listings to load into 1 REM. The 
first 16 are graphics characters for normal 
characters. The next 16 are inverse char- 
acters. If you are using the decimal 
machine code loader in Listing 1, hit 
RUN, and enter the numbers from the 
decimal column in Figure 1. 

The next step is to load the body of the 
program into the 2 REM statement. Since 
it is about 141 bytes long, reserving about 
160 bytes in 2 REM is recommended. 
There is a step near the end of the pro- 
gram that contains the code 7Eh (126d). 
This code will exist in a REM statement, 
but it will not display when listed and 
neither will the next five codes. This is no 
problem for the program unless you try 
to EDIT 2 REM or change the length of 1 
REM. This can cause the last six bytes of 
the program to disappear. Having extra 
bytes at the end of the program can save 
you trouble if you have to POKE the last 
six bytes back in. PEEKing is the only 
way to find out if they are still there. 

Earlier in the program is the code 7Fh 
(127d). The only problem this can cause 
is that it prevents you from driving the 
cursor past that point. If it is necessary to 
do so, just POKE a zero into that address, 
then remember to POKE 7Fh (127d) back 
later. Using the editor is certain to cause 
the loss of the last six bytes. 

The body of the program is divided 
into four parts for analysis and trouble 
shooting. 


Part 1. Initializing 

Part 1 is not very complicated. It finds 
the addresses of A$ and X$, then clears 
X$. Figure 2 is the hexadecimal listing; 
Figure 2a, the decimal. Load Part 1 into 
the 2 REM statement (remember where 
you wrote that address?). If you are using 
Listing 1, change line 110 to read: 
110 FOR A=P1 TO P1+22 
P1 is the address of the second number 
found in running Listing 2 above. The 
program will run itself if you add a return 
code to the end of Part 1: C9h (201d). 
Again save the addresses for use in Part 


Now RUN the Basic program to load 
A$(8) and X$(128) into the VARS area. 
Before you RUN the machine code pro- 
gram, SAVE it on tape. 

To test Part 1, enter PRINT USR X as 
a command (X is the address of the 2 
REM statement) and press ENTER. You 
should get 14 on the display with a 0/0 
error code; and PRINT X$ should return 
four lines of empty spaces, regardless of 
what was in A$ or X$ before, and a 0/0 
error code. If you got all this, you are 
ready for Part 2. 


65 


CHIRPER module for your ZX81 
or your timex/sinclair 1000. 


The CHIRPER module lets you enter keyboard 
data fast and accurately. A sound can be heard 
when a key has been entered enabling you to 
spot a double entry or missed entry without 
looking up at the screen. 


The CHIRPER sound is produced when a pro- 
gram runs. A key entry results in a buzz-like chirp 
on 1K or 2K machines. Large programs in a RAM 
pack produce a continuous sound that chances 
pattern on key entry. 


The CHIRPER module installs easily inside the 
ZX81 case with only 3 wires to connect. Complete 
installation instructions included. 


Send a check or money order. We pay the postage 
in the U.S.A or canada. 


AUDIOGRAPH CO. 
3584 Leroy, Ann Arbor, MI 48103 


2X80 2x81 TIMEX MICROACE 
CRASH NOT. WANT NOT. 


Have you had unexplainable system crashes? Lost 
programs due to brownouts or power failures? Or 
just plain tripped over your electric cord? 


If so, you need an uninterruptable power supply. 


UPSYSTEMS is a battery powered backup system 
that kicks in automatically as soon as its sensors 
detect a drop in voltage coming from your power 
supply. Your system keeps on ticking. 

Simple to install and use. Just plug your power cord 
into UPS and plug UPS into your system and you 
are ready for any power glitch or failure. (Additional 
cord included). 


All systems include on/off/reset switch for your 
convenience (you no longer have to unplug your 
computer to reset it). All systems are compact, ap- 
prox. 13 cm x 7 cm x 4 cm (5%" x 25" x 158”). 


UPS-1 Economy system, uses 2-9 volt alkaline 

batteries (not included). $14.95 + $2.00 

shipping, handling & insurance. 

UPS-1M Same as UPS-1 except it includes a Pro- 
gram Loading Monitor to solve your tape 
loading problems. $19.95 + $2.00 S, H&l. 

UPS-2 NiCd system that recharges itself auto- 
matically (NiCd battery included). $29.95 
+ $3.00 S, H&l. 

UPS-2M Same as UPS-2 except it includes a PLM. 
$34.95 + $4.00 S, H&l. 


90 Day Guarantee on Parts and Labor. 


Check or money order payable to: UPSYSTEMS. 
Foreign orders add $1.00. 


UPSYSTEMS 

RA BANKS 

5800 HOLLISTER 
DEPT 1901 

HOU TX 77040 


66 


If, on the other hand, the program 
crashed, reLOAD what you SAVEd. Now 
check to see if the “Push” and “Pop” 
codes balance. (See Figure 2, source state- 
ment column.) These codes push and pop 
two bytes on and off the machine stack. 
The stack also contains the address to 
return to Basic. So if the Push and Pop 
codes do not balance, the machine will 
not return to Basic. 

Error code 2/0 after PRINT A$ or 
PRINT X$ indicates that the variables 
area has been altered. Check the A$ and 
X$ address loaders. 


Part 2. Inverse Character Check 

Part 2 checks each element in A$ for 
inverse characters. For any inverse char- 
acter found in A$, the corresponding 4x4 
block in X$ is incremented. This incre- 
ment will cause Part 4, the interpreter, to 
use the inverse graphics section of the 1 
REM statement. 

Load Part 2 immediately after the last 
byte of Part 1. If you ended Part 1 with 
the return code, C9h (201d), replace it 
with the first step of Part 2, or POKE a 
zero (NOP code) in its place. Otherwise 
the program will not run beyond Part 1. 
Figure 3 is the hexadecimal listing; Figure 
3a, the decimal listing. If you are using 
Listing 1, change line 110 to: 

110 FOR A=P2 TO P2+38 
P2 is P1 + 22. Write down the address of 
P2 + 38 for use as P3 in Part 3 below. 

To test Part 2, end it with the return 
code, C9h (201d), as we did for Part 1. 
PRINT USR X should return 28 on the 
display with a 0/0 error code. PRINT X$ 
should return 4x4 empty spaces for each 
normal character in A$, and 4x4 blocks 
of CHR$1 for each inverse character. 

If you do not get this, or if the program 
crashes, use the same procedure used to 


— Figure 1. Contents of 1 REM statement (Hex). _ 


Hex Code Decimal Comment 
16514 (016) © 
16515 of 135 
16516 04 4 
165i7 83 131 
16518 02 F 
16519 85 133 
16520 OS 6 
16521 8i 129 
16522 Ol 1 
16523 86 134 
16524 os o 
16525 82 130 
16526 Os = 
16527 84 132 
16528 O7 7 
16529 Bi 128 
16530 80 128 
16531 07 7 
16532 84 132 
16533 Os a 
16534 82 130 
16535 os 5 
16536 846 134 
16537 Dİ 1 
16538 8i 129 
16539 06 6 
16540 85 ESS 
16541 oO? 2 
16542 83 TASI 
16543 OF 4 
16544 87 135 
16545 OO (8) 


— Listing 1. Decimal Machine Code Loader. — 
n80 REM MACHINE CODE LORDER, DE 
"110 FOR R=16514 TO 16545 

128 IF PEEK 1644242 THEN SCROLL 


@ PRINT Ñ, 


Listing 2. REM statement address locater. __ 


3886 FOR F=i65@G9 To 16700 
Saar IF PEEK FHas4 THEN PRINT F4 


1220 NEXT F 


~ Žž Figure3. Inverse character sorting routine (Hex). 


Hex Code OP Statement 
DS FUSH DE 
ES FUSH HL 
0O1 1C 08 LD BC NN 
Co PUSH BC 
1A LD A (DE) 
GaS INC DE 

DS PUSH DE 
ES PUSH HL 
FE 7F CF N 

28 OD JR NC 

06 04 LD BN 
CS FUSH BC 
06 O04 LD BN 

34 INC (HL) 
a INC HL 

10 FC DJ NZ 

O9 ADD HL BC 
Gi FOF EC 

10 FS DJ NZ 

El FOP HL 

Oi 04 OO LD BC NN 
09 ADD HL BC 
Di POF DE 

Ci POP BC 

10 Ei DJ NZ 

El FOF HL 

Di FOF DE 


Comment 


save A$ addr 
save X$ addr 

A4 Chr counter 
save Chr cntr 
code A$ 

next At 

save A$ addr 
save X$ 

check for inverse 
jump if not 

X$ row cntr 
save X$ row cntr 
X$ column cntr 
mark inv chr 
next X$ 

loop column ctr 
next X$ row 
row cntr 

X$ row loop 

X$ addr 

x$ chr disp 
next X$ addr 
next A$ addr 
GENET 

Chr loop 

X$ addr 

A$ addr 


wae “88 ag ‘EER see MIB ls ‘SS un IS lee ^AR ls ES as AR le ‘AU le SE ls ‘RR ls RAE Can CR va 


SYNC Magazine 


check Part 1. Do not forget to SAVE Part 3. Bit Shuffling 


everything on tape before you RUN any- Part 3 is the most complicated part, ST AR VENTURE 


thing. If you got everything except the and the heart of the whole program. It 
4x4 blocks of CHR$1 for inverse char- locates the Character Generator in the GAM E: 


acters, check to see whether you forgot 8K ROM for each character in A$. Then Seek out and destroy enemy 


to remove or replace the return code it shuffles each bit from the Character 


after Part 1. 


Generator to the proper address in X$. 


Figure 2. Initializes program by getting addresses of AS and XS (Hex). 


vessels to move up in Star Fleet 
ranks. 
Program listing 


Cassette 

Hex Code OP Statement Comment $1.00 shipping 
Soc se ea aS OTHER PROGRAMS 
09 ADD HL BC : A$ addr AVAILABLE 
ee potion , ee eee SASE for Brochure 

3 disp to 
09 ADD HL BC : X$ addr Dependable Load 
ES PUSH HL >: save X$ addr monitor $4.95 
SE 90 LD A N ; zero A reg 8K/16K, ZX80/ZX81. 
06 BÜ LD BN 3 X$ size 
ae LD(HL) A s zero X$ addr DSBC 
2 INC HL s next X$ addr P.O. BOX 1251 
10 FC DJNZ 3 X$ loop 
E1 FOP HL 1 Xe. sadr DOLAN SPRINGS, 
Di POP DE : A$ addr ARIZONA 86441 


_ Figure 3a. Inverse character sort (Decimal). _ 


—— Figure 2a. Initialization (Decimal). rA 13 245; 
279 é #20 
42 22 1 4 1 eee eee ` o 
16 62 28 197 4 ood DOĞ eses, Ö ces BOS se 
64 ©) & 6 ) rememoriar A RR NA RR 
1 6 197 4 9 
pie 2 kes NEWSLETTER 
E 149 19 39 193 
F S i EVERY MONTH OUR 
Ze 16 2a 232 220 
ian) 252 eae 225 SUBSCRIBERS RECEIVE 
14 220 127 193 209 
9 209 5 16 programs — projects 
reviews — articles 
Figure 4. Bit shuffling loops (Hex). and more! 
Hex Code OP Statement Comment SAMPLE ISSUE AND FREE 
06 08 LD BN s A$ chr cntr PROGRAM 
Le PUSH BC 3 save A$ chr cntr ee 
1A LD A (DE) 3 A$ chrs am (= 
E6 3F AND A : mask A<64 = = 
13 INC DE 3 next AS addr 
DS FUSH DE s Save next A$ addr 
ES FUSH HL : save X$ addr send $1.00 (shpg.) 
21-F8. TD LD HL NN ; Chr gen addr-8 
11 O08 OO LD DE NN 3 Chr gen addr incr BOX 2411 VISTA, CA 92083 
47 LD BA 3 loop counter for 
04 INC B ; Chr gen addr 
ba ADD HL DE ; A$ Chr gen addr 
iò FD DJ NZ ; loop for Chr gen 
ER EX DE HL ; A$ Chr gen in DE 
El FOF HL ; X$ addr 
Ob 04 LD EN s dbl row entr “For Adults Only’’ 
co FUSH BC 3 save dbl row cntr 
06 O2 LD K N 3 single row cntr 
Co FUSH BC 3 save sngl row cntr An adult program to add 
1A LD A (DE) ; 1 byte of Chr$ gen spice to your life. Not a game, 
ES FUSH HL 3 Save X$ addr $ f 
UNA Meo E N A cate but an aid to better under 
17 RLA ; 1 bit from Chr$gen standing of your lovers 
CH 16 RL (HL) s Lobat i tnta.xs : ’ : : 
17 RLA ; 1 bit from Chr$gen desires. You'll enjoy this pro- 
CB 16 RL (HL) .- 1 bit anto. xs gram if you enjoy loving... 
aa INC HL 5 next X$ addr 
TO! BZ DJ NZ $ oop 2.- bit -centr 
EA FOP HL. 3 X$ addr 
13 INC DE 3 next Chrtgen addr $ 
R POP: BC 3 Single row cntr 19 95 
10 ED DJ NZ : loop sngl row cntr J be + 1.50 p&h 
O1 20 00 LD BC NN 3 X$ row incr Florida resident add 5% tax 
07 ADD HL BC 3 next X$ row 
Gi Per - BC ; dbl row cntr 
TO- ES DJ NZ s loop dbl row cntr 
DE 7C 00 LD DE NN ; X$ disp 
ED- -JA SBC HL DE 3 X$ addr new chr 
Di POP DE : AX addr 
Ci FOF EC s AS chr cntr 
10 C4 DJ NZ ; loop A$ chr cntr 


November/December 1982 


67 


The key to the bit shuffling is in two 
codes: 17h, RLA and CB 16,RL (HL). 
RLA shifts each bit in Register A (in the 
CPU) one place to the left, and overflows 
to the Carry Flag (in the CPU). The bit 
that was in the Carry Flag rotates back to 
Register A. RL(HL) works the same way 
using the byte at the address in Register 
HL. 

Part 3 uses several loops to load Regis- 
ter A with a byte from the Character 
Generator and load Register HL with an 
address in X$. Then the RLA code shifts 
one bit from the Character Generator to 
the Carry Flag, and RL (HL) shifts that 
bit into the address in X$. Four bits are 
shifted, one bit at a time, into each of the 
128 addresses in X$. If shuffling 512 bits 


— Figure 4a. Bit shuffling loops (Decimal). ___ 


6 4 25 Q 

8 Ba 203 9 
197 16 Ze iss 
26 2A DA 16 
mad Zoo 205 By PA 
63 223 22 17 
i9 6 oo 124 
2135 4 16 Q 
2a? E27 247 Sd. 
oS 6 Za ss 
248 Z Ihe 209 
a9 19:7 193 193 
TA 26 FG 16 
8 PR j 2S7 1976 
Q 6 1 

71 4 32 


(Requires 16K RAM memory pack) 


ANNOUNCING a new software program for TIMEX/ 
SINCLAIR TS1000 and SINCLAIR ZX81 computers. 


OSIIN OPACE 


into 128 addresses sounds a little tedious, 
I assure you, the whole program runs 
faster than you can blink. 

Figure 4 is the hexadecimal listing for 
Part 3. Figure 4a is the decimal listing. 
Enter Part 3 the same way as you entered 
Part 2. Be sure to remove or replace the 
return code, C9h (201d), from the end of 
Part 2. If you are using Listing 1, change 
line 110 to: 

-110 FOR A=P3 TO P3+62 
P3 is the address plus 38 from Part 2. 
Write down the address for Part 4. 

If you have been doing well so far, 
enter Part 4, the interpreter, too. It is 
only 19 more steps. 

If you add the return code, C9h (201d), 
and test the program, you should get the 
same display as before, except PRINT X$ 
should return four lines of characters 
between CHR$0 and CHR$31 for each 


Listing 3. 1 REM and 2 REM. 
2 REM (22 GRAPHICS CHARACTERS 
REN (141 PROGRAM SFOrFs} 
A$ tS) 
12 DIK Y$ (128 
x =4554 


Listing 4. Sample application. 


100 PRINT “ENTER PHRASE" 
118 INPUT AS 


170 GoTa Iiga 


LENGTH 
C-10 


character in A$ that is not an empty 
space. 

If you went ahead and loaded Part 4, 
the interpreter, PRINT X$ should return 
the finished product, an exact 4x4 enlarge- 
ment of each character in A$. Note that 
Part 4 already ends with the return code, 
C9h (201d). Troubleshoot as before. 


Part 4. The Interpreter 

Part 4 is the shortest and easiest part of 
the program. It has only one loop. It 
loads the HL Register with the 1 REM 
statement address. The 1 REM statement 
holds the graphics characters that build 
each 4x4 character. For each address in 
X$, the value at that address (0 to 31) is 
added to HL. The graphics character 
found at HL + (0 to 31) is then placed 
into X$. This will loop 128 times to 
interpret each element of X$. 

If you are using Listing 2, make this 
change: 

110 FOR A=P4 TO P4+18 
P4 is P3 + 62. 

Figure 5 is the annotated hex listing for 
Part 4. Figure 5a is the decimal listing. 
Part 4 contains the code 7Eh (126d) which 
will not display in a REM statement. 
Neither will the next five characters, but 
they do exist in the REM statement and 
will run in a machine language routine. 

Remember that using the EDIT key on 
2 REM or moving 1 REM can cause you 


PREMIUM DATA CASSETTES 
*MANUFACTURERS WHOLESALE PRICES* 


10-PACK 


100-PACK 500-PACK 


.59EA. .54 EA. 


by Michael C. Hoffman 

ja 
You're the captain of an experimental space ship that can't be detected by enemy 
ships. 
Suddenly, an electrical fire is reported by the navigator. Itis quickly extinguished, but 
the damage is severe. 
The auto-pilot, main engine and laser gun won't respond, so you switch to manual 
and auxiliary thrusters. The only working controls are the rotate right and left 
thrusters. Checking the status monitor indicates only 30 Ibs of fuel is left. 
During the crisis, your ship wandered into a meteor shower. You must maneuver left 
or right to avoid hitting meteors and enemy ships. 
Your new mission is to locate the fleet of friendly fuel ships and attempt to land on 
one in order to refuel and continue the journey. 


FEATURES: 
Rotate right and left thrusters. 2 types of meteors. 2 types of enemy ships. 1 
fleet of friendly fuel ships. 10,000 bonus points. Bonus game. 30 Ibs bonus 
fuel. Status monitor for fuel and score (Real-time). Auto-run. Many 
prompts. Manual replay. Moving graphics. Flicker-free. Moving graphic 
title for the beginning and end of program. 


CONTROLS: Press key # 
ETN Gs lien as Ses eats lato svaldndcavanevaseizuanchoynceotecse 
Paani Ls PAE A EET : 

Status monitor for fuel left ANd score .......... cee eeeeeeeteeeeeeeeees fa] 

Manual replay (When prompt asks if you want to play 

anotmhorgame yes GUO 1) mirs: oerien e eveen etea eitades Y (ENTER) 
(or) N (ENTER) 


As you steer past thè meteors and enemy ships, you accumulate valuable points. 
Try to land on a fuel ship to refuel (30 Ibs bonus fuel) and continue into hyperspace. 
(10,000 bonus points will be added to your current score and to the new game 
already in progress.) 


“LOST IN SPACE”’ is prerecorded on a computer certified cassette tape, 

in a protective see through ABS plastic case. GUARANTEED LOADING. Included is 

our detailed instruction manual. 

(Filename LISTA kh Meee eee Aa a shoes and.” e a r aa $11.95 
(Please add $1.50 for shipping and handling. NJ residents 5% tax.) 

(Dealers wanted.) M.C.HOFFMAN CO., PO BOX 117, OAKLAND, NJ 07436 


C-20 .66 61 
C-60 .89 .83 
C-90 $1.29 $1.21 


SOFTWARE PUBLISHERS —LET ACTS AUDIO 
PROVIDE YOU WITH ALL YOUR CASSETTE 
PRODUCTION REQUIREMENTS. 


CUSTOM SOFTWARE DUPLICATION — FOR 
SINCLAIR, TRS-80, APPLE, ATARI — GUAR- 
ANTEED TO LOAD. 


ACTS AUDIO ALSO SELLS HIGH-SPEED 
DUPLICATION EQUIPMENT MODIFIED FOR 
SOFTWARE DUPLICATION. 


ACTS AUDIO, INC. 
70 WEST ILLIANA AVE., 
ORLANDO, FL. 32806 


(305) 423-0338 


Pay by check, Mastercharge or Visa. Add $5 for 
C.O.D. shipments. Florida residents add 5% sales 
tax. No shipping to P.O. Boxes. Shipping by 
U.P.S. to continental USA only. For shipping and 
handling add $2 for 10 pack, $5 for 100 aE $12 
for 500 pack. 


SYNC Magazine 


TS1000-ZX81 


OWNERS 


RRANIT 


Jir 


WIN $20,000 or more 


KRAKIT™ is an adventure and a treasure hunt for the ZX81 
and TS1000 computers. The bank account and prize money 
actually exist. Be the first to crack the puzzle and the prize 
is yours. Only one prize will be awarded. 


SOLVE 12 CLUES LIKE THIS! 


Where it all began. Where the torch was first lit. 


Where muscles and sinews strain. Where our heros 
win acclaim. Where the symbols hold the key. 


KRAKIT™ consists of 12 clues on a ready-to-run ZX81 or TS1000 
cassette tape (16k RAM). The answer to each clue is the name of a 
country, a city or town, and a number. If you are the first qualified 
entrant to solve all 12 clues and declared the winner, you receive two 
tickets to the city of the secret KRAKIT™ vault location. When you arrive 
at that location, a check for a minimum amount of $20,000.00 (U.S.) will 
be presented to you. The amount of the prize money is augmented weekly. 


TS 1000- 2X81 


1. The first qualified entrant to be 
confirmed by the judges to have 
completed all the clues correctly is the 
winner. 

2. There will be one winner only. 

3. No persons connected to 
International Publishing & Software Inc. 
or their families are eligible to enter 


5. Due to the confidential nature of 
KRAKIT™ we regret we are unable to 
enter into any individual 
correspondence. All the required 
information, including how to claim the 
prize, is on the computer tape. 

6. The winner will be required to sign an 
affidavit of compliance with these rules. 


KRAKIT ” 
4. This offer is not valid where Y. INTERNATIONAL PUBLISHING & SOFTWARE INC. 
prohibited by law. P.O. BOX 1654, BUFFALO, N.Y. 14216 


ommnamennmnnmnnmmannnmnnENn nme 


a @ q Maito: & 
a Y, INTERNATIONAL PUBLISHING & SOFTWARE INC. & 
re P.O. BOX 1654, BUFFALO, N.Y. 14216 X 
$ Please send___ copies of KRAKIT™ Please print: - 
E at $19.95 plus $1.50 shipping. 5 
t Total enclosed is L] check Name 3 
E money order 
g ; Address Z 
Charge to L] visa L | Mastercard g 
; Number ii ioe eo State a 
7 E R Stqnatute 2. Zip = 
|5 Allow 2 weeks for personal checks. g 


Pp pee pe py yy ee a a ds a es a ho on on a a dT aT aS 


Dealer inquiries welcome. 


other FINE 
PRODUCTS 
from 


INTERNATIONAL 
PUBLISHING Y 


3952 Chesswood Drive 
Downsview, Ontario, Canada M3J 2W6 


e GAMES e GAMES e GAMES e 


MARINE RESCUE: fast action underwater 

TANK TRAP: destroy enemy planes & land 
mines 

GALAXY INVADERS: repel fleets of invaders 

INVADERS: the classic computer game 

ZX SCRAMBLE: a fast-moving space game 

CROWN & SCEPTER: a medieval adventure 

GALACTIC COMMANDO: a space war 

adventure 

TRACK DOWN: an adventure in the old west 

BLACKJACK: as played in Vegas 

SLOTS: beat the one-armed bandits 

ZX CHESS |: 6 levels: black or white: save 
games 

ZX CHESS II: chess master: 7 levels: champion 
rated 

1K CHESS: 1 level: no castling or en-passant 

PLANET OF FEAR: find your stolen spaceship 

INCA CURSE: get gold out of the temple 

SHIP OF DEATH: free your ship from an alien 

cruiser 
NANTIR RAIDERS: arcade game: 4 waves of 
attackers 
GOBBLE MAN: famous arcade game: chase 
ghosts in a maze 
1K GAMES: 11 games for unexpanded 
ZX81/TS1000 
SHOOT OUT: how fast are you “on the draw’’ 


FAMILY EDUCATION & HEALTH 
& ENTERTAINMENT 


WEIGHT CONTROL: a personalized weight 
loss program* 

CONSTELLATION: your computer is your 
telescope* 

SOLAR SYSTEM FILE: a databank on the 

solar system* 
BIORHYTHMS: plot your physical, emotional, 
intellectual cycles* 
BOOK OF DAYS: facts, trivia, birthdays in a 
datafile* 

PERSONAL RECORDS 

STORAGE SYSTEM: create a personal 

datafile* 

FLASHCARD: memory aid, learning aid, testing 

device 

MOVIE HANGMAN: guess the movie; beat the 

Hangman 


PROGRAMMING AIDS 


Z-AID 1.0: a machine code programming aid 
ZX BUG: for debugging, editing & running 
machine codes 
ZX ASSEMBLER: powerful tool for machine 
code programs 

TOOLKIT: add 9 commands to basic; including 
renumber 

ZX FORTH: ease of basic with machine code 

speed* 


* comes complete with a detailed guide 


DEALER ENQUIRIES INVITED. 


Figure 5. Interpreter (Hex). 


Hex Code 


OP Statement 

21 06 OO LD HL NN 
19 ADD HL DE 
ERB EX DE HL 
pA BO LD BN 

21 82 40 LD HL NN 
1A LD A (DE) 
85 ADD AL 
bF LD L A 

7E LD A (HL) 
2 LD(DE) A 
tS INC- DE 

10 F5 DJ NZ 

C9 RET . 


Comment 

; X$ disp 

3 X$ addr 

s X$ addr in DE 

: X$ loop cntr 

; IREM addr 

; X$ coded byte 

= increment HL by 
: X$ chr code 

: get graphics chr 
s put into X$ 

» next X$ addr 
oA 1. 0D 

s return to BASIC 


Figure 5a. Interpreter (Decimal). 


ao 26 

6 1335 
Q Eri 
2u 126 
200 18 

6 19 

128 16 

33 245 
130 201 
64 


to lose the last six bytes of the machine 
code. You will have to PEEK to see if 
they are there. The program will crash if 
they are not. If you do lose them, just 
POKE them back. 


Using the Program 

The whole program is 141 bytes long, 
and, if you are careful, there is no reason 
you cannot load the whole thing at once. 


____ Listing 5. Four Times Square Billboard. ___ 


100 PRINT “ENTER MESSAGE" 
102 RADH I$ 


106 LET I$=I$+t“ FEE ` 
TIO FOR Fsi TO CEMIS 


1209 LET RA€=H&R(2 To 5 +I$iF)}? 
130 LET L=YSR X 

240 PRINT AT 16.6: 

150 PAUSE 26 

152 POKE 16437.255 

160 NENT F 

278 GOTO 1138 


I described it in four parts to show you 
how each part worked and how to 
troubleshoot. Turn now to Listing 3. The 
address of the first byte of the body of the 
program is 16540 because there are a few 
spare bytes in the 1 REM statement. If 
yours is different, do not change your 
program to use 16540. Change X to equal 
your address. 

The easiest application is to add the 
short routine in Listing 4 to Listing 3. 


After entering the program and running 
it, I think you can start to appreciate its 
speed. Still you could do the same thing 
with a Basic subroutine. It would just run 
a little slower. 

Now try Listing 5. If you have the 
improved ROM you can omit line $52) if 
you have SLOW mode, you can omit lines 
150 and 152. After you have entered and 
run this listing, you will see how versatile 
the program can be. Now try that with a 
Basic subroutine. The machine code 
makes all the difference. It is fast enough 
for repeated use without slowing down 
the display. Another idea is to modify the 
1 REM statement to create special print, 
such as segmented characters. With a few 
extra basic steps, you could even perform 
a double expansion, which would display 
two 16x16 characters. 

It is time to use your imagination. You 
may already have several programs that 
would benefit from large letters, perhaps 
an educational program that rewards cor- 
rect answers with a big “ATTA BOY!” 

If you have never used machine code 
before, go ahead and get your feet wet 
with this one. You will find that your 
programs are more user-friendly, and that 
this machine code subroutine is so easy 
to use. It could be called programmer- 
friendly. 

I would like to hear of your trials and 
tribulations with this program, care of 
SYNC Magazine. a” 


1982 TAX RETURN HELPER 


A set of 7 ZX81/TIMEX programs (16K RAM) for the 1982 tax 


return. Data is interactively entered/examined/modified and the 
results can be immediately seen. The programs perform all 
computations and even detect some of your errors. Like in an 


electronic spreadsheet, when you make a change, all the lines 


affected by it are updated on the spot. So you can explore “what if” 
alternatives. Or you can add a deduction remembered at the last 
moment and get that entire form corrected without effort. The 
forms can be printed and/or saved on tape for future use. Form 
1040 and Schedules A, B, C, C1/C2, D and E are featured. 


The 1982 edition will be available in January 1983. The cost - $14 - is 
tax deductible. (Only $7 for the buyers of the 1981 edition.) 


ARTIST 


ARTIST is a ZX81/TIMEX (16K RAM) program that, with more 
than 30 commands helps create drawings/paintings on screen. 
Features include: 4 modes (DRAW, ERASE, MOVE with user 
defined step, PAINT with user defined brush); 8 directions of 
movement in every mode; background fill; position save and recall; 
easy graphic specification of lines, circles and half-circles; ability to 
define, store and recreate complex patterns anywhere on the 
screen; ability to save the artwork on tape or print it. 


ARTIST is very easy to learn and use. 4-year-old kids master its 
basic commands in minutes. Most commands require pressing of 
only one key (no enter needed) and numeric coordinates are not 
necessary. No knowledge of Basic is needed. At the same time, 
advanced features support the creativity of sophisticated users, 
which can define their own commands; for them, ARTIST offers an 
extensible graphic command language. User defined commands 
can be nested (even recursively) and are saved on tape. 


Z X81 
16K RAM 


Cassette and instructions - $10 ($12 outside U.S.). 


From: KSOFT, 845 Wellner Rd., Naperville, IL 60540 


70 


NEU! Fast Action Game of Skill 


FURIOUS 
ONLY $12.95 


HIGHSCORE! 
HIGHSPEED! 
CHALLENGING! 


s S aa 


Send Check or Money Order for $12.95 
Plus $1.50 for Shipping and Handling to: 
DAEDALUS SOFTWARE 


8449 Cozycroft 


Canoga Park, California 91306 


SYNC Magazine 


from 
VIRGO EIN bee 
Scrambl 


pawns 


PHH 
r 
y 


A 
y P’ 


e Y 
> 


5 


f 
Lars 


The high-speed arcade 
game. Easily the fastest 
available. 32 zones, with fivraryaade 
thrust and altitude 


controls. ONLY $7.95 


Other great ZX games and add-ons 


from Mikro-Gen: A/D Converter Board 


Space Invaders Lets you connect analogue 
| the best you can get, with joysticks to the ZX81 digital 
ever-increasing rate of play inputs. Suitable for many other 
applications, easy to connect- 
Breakout and it improves RAM pack 


\ 
\ 


Supplied on cassette. 


with seven bat angles to make stability! 

it really difficult ONLY $36.95 

Bomber Joysticks 

positively addictive Connect via our A/D Board- 
makes your ZX81 a true 

ZX Chess programmable games 


machine 


ONLY $18.95 EACH 
Disassembler/Monitor 


An absolute must when 
learning machine code- 
lets you enter and run your 


The original- and still the best! 


Sorcerer's Castle 
takes you into a world of 
magical adventure 


Above games all supplied on cassette. 
with library case own code 


$7.95 each (ZX Chess $12.95) ONLY $7.95 


Write for full details of the Mikro-Gen range of programs and add-ons, 
available from local stockists or direct from the manufacturers (please make 
cheques/PO’s payable to Mikro-Gen and add $1.90 postage for software, 
$3.50 for hardware 


Suppliers of Software to Sinclair 


WING URUEN 


24 Agar Crescent Bracknell Berks RG 12 2BK, England 
Tel: Bracknell (0344) 27317 


B Y RAJ LA 


Unique Software _| 


VIRTUOSO ... 

a music synthesis program with ten octave range 
at any tempo to accommodate songs up to 96 notes. 
Recordable pulse waves generated at a mike jack. 
Can be heard or amplified on any TV. Uses a single 
BASIC instruction. SAVE YOUR SONGS! Hardware? 


Any cassette recorder. 


KALEIDOGRAPH . .. 

enjoy kaleidoscopic simulation in a 22 x 22 pixel 
display composed of randomly selected graphic 
pixels with two axes and an exciting center of 
symmetry. 


Both for Timex Sinclair 1000; ZX80/81; 8K; ROM: 
2K+; RAM computers. Each only $6.95 pp. Add $3.00 
eXUSA 


Quantity: Virtuoso Kaleidograph 


Name: 
Address: 
City/State/Zip: 
Remittance to: William Don Maples 
688 Moore St., Lakewood, CO 80215 


TS1000 AND ZX81 OWNERS 

9 PROGRAMS: $9.95 
BAR CHART, ETCH-A-SCREEN, INTEREST, 

EXTENDED MEMORY NOT REQ’D! 


SPELLING, CHECKBOOK. . . AND 15 MORE! 


SEND CHECK OR MONEY ORDER 


TO: 
COMPUTHINK, INC. 


P.O. Box 603 
Hopkins, MN 55434 


'VEGOTA  #TS1000 [2x81 
(CHECK ONE) 
DESCRIPTION 


PROGRAMS 
2 CASSETTE $9.95 EA 


20 PROGRAMS 
MANUAL $13.95 EA 


BEST BUY! BOTH $19.95 SET 


SHIPPING AND HANDLING 


TOTAL (MN RESIDENTS ADD) 
5% SALES TAX) 


SHIPPING LABEL — PLEASE PRINT! 


AREE e eae ae 
CRI ae a See 2 eo IP 


SOUNDwithZX-81! 
SOUND with ZX-81! 


MAKE AMAZING SOUND EFFECTS WITH YOUR ZX-81 


Bez Timex 


= Sinclair 
D 


1000 
$49.95 THE ZON X-81 


* The ZON X-81 SOUND UNIT is completely self-contained and espe- 
cially designed for use with the ZX-81. It just plugs in—no dismantl- 
ing or soldering. 

* No power pack, batteries, leads or other extras. 

* Manual Volume Control on panel—ample volume from built-in loud- 
speaker. 

* Standard ZX-81—16K Rampack or printer can be plugged into ZON 
X-81 Sound Unit without affecting normal ZX-81 operation. 

* Huge range of possible sounds for games or: Music, Helicopters, 
Sci-Fi, Space Invaders, Explosions, Gun-shots, Drums, Planes, 
Lasers, Organs, Bells, Tunes, Chords, etc., or whatever you devise! 

* 8 full octaves. Uses 3-channel sound chip giving programme control 
of pitch, volume of tones and noise, all with envelope control. 

* Easiiy added to existing games or programmes using a few simple 
“BASIC” lines or machine code. 

* No memory addresses used—!.0. mapped. 

FULL Instructions with many examples of how to obtain effects and the 

programmes, supplied. Fully Guaranteed. 

Payment may be made by Bank Cheque or International Money Order in 

U.S. $ or £ Sterling Payable to: 


P.O. Box 6 ale | 
Visa-Mastercard accepted 
cal aie van Send account # 
Se i 3182 with name & address 


When I first got my ZX81 kit assem- 
bled, I was all fired up and ready to learn 
programming. I planned to buy books 
with titles like “97 Ready-to-Run Games 
in Basic” at ten for a dollar. They are 
usually far from “ready-to-run,” but 
debugging them is an excellent way to get 
started with a new computer. Unfortu- 
nately, programs that fit into 1K RAM 
are relatively hard to find. 

When the May/June issue of SYNC 
arrived, some possibilities opened up with 
“Space Warp” by Armando Fox. I 
scanned the article, paying particular 
attention to the last paragraph, which 
described the clever way of storing the 
graphics for the spaceship. Then I entered 
Listing 1 according to the instructions. 
POKEing the values listed in the article 
went fine until the eleventh value (zero). 
Suddenly, the screen went blank, and the 
keyboard had no effect! I unplugged the 
computer and started over, with the same 
results. 


A Mystery 

Why can’t I set up the graphics as Mr. 
Fox did? Looking at the article again, I 
finally noticed that it was for the 4K 
ROM. 


Chuck Bonner, 145 Allen St., Norfolk, VA 23505. 


November/December 1982 


The Challenge x: a 
We should be able to make this pro- 
gram run in the ZX81. Let’s give it a try. 
First, what is the difference between 
4K Basic and 8K. Basic? Obviously, 8K 
machines have something in memory 
locations 16427 to 16441 which should 
not be changed. Other than that, the 
listing has things like “GO TO” and “GO 
SUB” instead of “GOTO and “GOSUB”. 
No problem. Also, the way random 
factors are entered in lines 200, 210, 260, 
and 660 of Listing 2 is different from the 
way it appears in the ZX8/1 BASIC Pro- 
gramming manual. Will it work? Enter 
200 LET F=F-W*RND(3) 
No, it will not work. What about line 450? 
IF S THEN GOSUB 600 
Entering this line yields no syntax error, 
so IF S THEN ... is a valid instruction. 
Translating all the random factors into 
8K Basic is an easy first step. 


POKEing Problems 

We will probably find other differences 
as we proceed, but for now, back to the 
original mystery. Is there something about 
these values that, altogether, they cannot 
be POKEd into the specified locations, or 
is it only that one particular location 
which cannot be POKEd to zero? Refer- 
ring to Listing 1, and counting the values 


8K ROM (4K ROM) 
1K RAM 


WARP 81: 
Making a 4K Program 


Run in 8K 


Chuck Bonner 


listed in the article, we can see that the 
problem comes when we POKE 16437,0. 
So, with no program in the computer, do 
just that. After a couple of seconds, the 
screen goes blank and the keyboard has 
no effect. Why can’t we POKE 16437,0 
on the Z X81 if Mr. Fox can on his Z X80? 

The answer has to do with the ROM. 
The ROM chip contains most of the infor- 
mation which allows the microprocessor 
to.communicate with “the outside world” 
and vice versa. I say “most” because many 
ROM subroutines use RAM as a “scratch- 
pad.” Therefore, certain locations must 
be left alone, or elso the computer will 
not behave properly. 16437 is one of them. 
If you have a listing of the ROM sub- 
routines, and you are really clever, you 
can use this glitch to make your computer 
do some surprising tricks. For examples, 
refer to any “Try This” program which 
contains a POKE statement. 

Are there any other “sacred cow” RAM 
locations? Probably. What are they? If 
you are curious, enter the program in 
Listing 3. Save it on tape before you run 
it. Running it must eventually cause the 
program to crash, because eventually you 
will POKE the memory locations which 
contain the program. Watch the screen 
for anything unusual. When it happens, 
BREAK the program and remember the 
last location displayed. LIST the program 
(if possible) to see if you have destroyed 
it. POKE the last location to 0 with no 
program in the computer to see if it has 
the same effect. To try more locations, 
LOAD Listing 3 from tape and change 
the first value of X in line 10 to the next 
one after the location which caused the 
program to crash. Watch for particularly 
unusual responses from 16384 (whether 


TA 


or not the program is loaded) and 16398 
(only if the program is loaded). 

Meanwhile, back to “Space Warp.” 
Since we cannot POKE 16437,0, the com- 
puter probably cannot put a 61 there 
(computer talk for “X”). In the article we 
learn that Listing 1 substitutes the graph- 
ics characters designated by the numbers 
in the last paragraph of the article for the 
fifteen X’s in line 1. If the X’s do not go 
into locations 16427 to 16441, then where 
do they go? To find out, enter the pro- 
gram in Listing 1 below. Then add line 1 
from Listing 1 for “Space Warp” and 
delete line 40. This program will PEEK 
every location in RAM (16384=16K; the 
beginning of RAM). Watch the screen 
until you see fifteen “61’s” in a row. If the 
screen gets full (it will), hit CONT. Using 
this program, we find our fifteen X’s in 
locations 16514 through 16528. These 
values of X must be used in line 40 of 
Listing 1. 

Now, if the graphics for our spaceship 
are not saved in the place we were told, 


we cannot get them out of that place | 


either. Examining the program, we see 
that the spaceship is drawn from the 
PEEK in line 380. Change it to 

PRINT CHR$ (PEEK (16513+N)) 


Additional Problems 

There are four other little problems in 
translating the program. The article says 
that the Killer Satellite is represented by 
a double asterisk. Where is the double 


asterisk in the program? If we study 
Listing 2 carefully, we can see how line 
260 determines whether a Killer Satellite 
is present, and line 440 prints it. Unfortu- 
nately, on the ZX81 this will represent 
the Killer Satellite as “LLIST” rather than 
a double asterisk (see Appendix A of the 
ZX81 BASIC Programming manual). So, 
we have to substitute 216 for the 226 in 
line 260. 

Now, consider the odds of a Killer 
Satellite being present. In 8K Basic, 
RND*6 may equal (almost) any number 
between 0 and 6 including 0 but excluding 
6 (see Ch. 5, p. 24). Therefore, you will 
absolutely never get a Killer Satellite. 4K 
Basic has a different interpretation of 
RND as well as a different syntax. Even if 
we change line 260 to 

IF RND*6=5... 
the odds are 65,536 to 1 against getting a 
Killer Satellite. That is too easy. For 8K 
Basic, line 260 should read 

IF RND*6 5 THEN LET S=216 

The third little problem is the status 
report in line 300. Apparently, 4K Basic 
gives a four-column format. in PRINT 
statements with commas. Our 8K Basic 
gives a two-column format. Change line 
300 to read: 

PRINT “WARP”, “FUEL”, 
“VELOC: “DIST? V, D 
Now we have a neat two-column status 


W, F; 


report. 


The fourth little problem is a typo- 
graphical error. Both line 390 and line 


4K ROM 
Listing 1: Setting the Variables. 


1 REM XXXXXXXXXAXAXXXX G4 EX 2 9 40 FOR X=16427 TO 16441 
10 LET D=1000 So TNE AF 
20 LET D2=0 6&0: “FORE. Xe. E 
20 LET F=1lo0o 7O NEXT X 
4K ROM 
Listing 2: Space Warp. 

100 FRINT AWARE S 370 FOR -NSA TO -xX+9 
110 INFUT W 380 FRINT CHR (FEERK (16426+N)) 5 
120 IF W?15 OR Wei THEN GO TQ So NE XT A 

110 400 FRINT 
120 ERINE “BIReC TION?" 41O LET X=X+4 
140 INFUT D$ 420 NEXT X 
150 IF NOT (D#="F" OR DS="R") T 425 FOR L=1 TO 25 


HEN GO TO 140 
200 LET F=F-WXRND(3) 
210 LET V=(W/2) * (RND (5) +5) 
220 LET Di=Vk(W/2) 
230 IF D$="R" THEN LET Di=-Di 
240 LET D=D-D1 
250 LET S=0 
260 IF RND(6)=6 THEN LET S=226 
270 LET D2=D2+D1 
280 IF DJO THEN LET D=0 
290 CLS 
300 FRINT "WARP", "FUEL", 
Ce ADISTA Wyo. Vv. D 
320 FRINT 
320 FOR X= -4 TO 6 


EN ELG 


340 FOR J=i TO D2740 
200 PRINT "#"5 

260 NEXT J 

74 


420 FRINT 
425 NEXT L 
440 FRINT CHRE (5) 

450 IF S THEN GO SUB 600 


“Sets 


460 IF Fei THEN STOF 
470 IF DéZi THEN GO TO 500 
480 GO TO 100 

500 PRINT , “HOME FREE" 

510 STOF 

600 IF W>7 THEN GO TO 660 
610 FRINT "RETREAT?" 

620 INFUT D$ 

630 IF D$="N" THEN GO TO 660 


640 LET D=D+Vx(W/2) 

645 LET F=F-W 

650 GO TO 670 

660 LET F=F-(RND(S) x3+W) 
670 RETURN 


420 in the spaceship drawing routine read 
“NEXT X”, and there is no “NEXT N” 
for line 370. Using the information in Ch. 
12, p. 63, it is easy to figure out that line 
390 should be the “NEXT N”. 

The program is now fully corrected for 
8K Basic. Note: before we are through, 
we will cover one more little problem 
after we run the program. | 


1K RAM on the 8K ROM 

Now just try to enter it on your ZX81 
or Timex/Sinclair 1000. You will run out 
of memory in the middle of line 630, yet it 
runs in 1K RAM with the 4K ROM. Why 
will it not run on the 8K ROM machine 
which also has 1K RAM? 

This is another aspect of the first big 
problem we had. Certain RAM locations 
are used as scratchpad by the ROM. More 
RAM scratchpad is required by 8K ROM 
than 4K ROM (this is only logical). There- 
fore, the 8K ROM machine with 1K RAM 
actually has much less user RAM than 4K 
ROM ZX80 with 1K RAM. If you have 
an extension memory pack, or have 2K 
RAM onboard, you can probably run the 
program as is. If you do not and if you are 
like me, you are determined to make this 
program run in 1K RAM on the 8K ROM 
machine. So let’s get busy! 


Memory Conserving Rules 

Here are some general rules for con- 
serving memory: 

1) Eliminate REM statements. 

2) Abbreviate in PRINT statements. 

3) Eliminate any repetition of mathe- 
matical expressions. 

4) Do not make the program enforce 
the rules of a game. Trust the player to 
stay within limits. 

5) Simplify as much as possible. 

Now let’s apply these rules to “Space 
Warp.” 

First, the only REM statement is the 
one we need to hold the spaceship graph- 
ics. So we will keep it (for now). 

Next, we have the PRINT statements. 
We can abbreviate some of them without 
making them too hard to understand. In 
line 130 PRINT “F/R?” is enough. In line 
500 PRINT, “HOME”. 

Now let’s look for repetition of mathe- 
matical expressions. If a variable is set as 
equal to a certain expression, all repeti- 
tions of that expression can be replaced 
by the variable. For example; in line 220, 
D1 is set equal to V * (W/2). Therefore, 
line 640 can read 

LET D=D+D1 
and still mean exactly the same thing. If 
there is an expression which is repeated 
often, it might be worthwhile adding the 
variable to the program. 

Is the program is enforcing the rules of 
the game? Look at line 120. This can be 
deleted if we remember that our warp 
must be between 1 and 15. By the same 


SYNC Magazine 


GRAB BAG 
PROGRAM 
SALE! 


We're overstocked on 16K programs so 
were going to sell them cheap. These 
are all good quality, name brand 
programs. 


We have games, simulations, program- 
mers aids, word processors, music 
composers, data base, etc. 


Why not try your luck and see what you 
get? 


$8.50 for 1 
$16.50 for 2 
$24.50 for 3 


Add $1.50 for shipping and handling. 


If you write 


GOOD 


Timex/Sinclair 
PROGRAMS 


or 
You build 


QUALITY 


HARDWARE 
or 


You are a 


dealer 


then 
We’d like to hear from you. 


Free Hardware and Software 
catalogs. (specify) 


Sinclair Place 


Ot kif 


DOES YOUR RAM pack have that dreaded 
disease — The Wobbles? 


DO YOU have problems with your computer 
suddenly becoming absentminded, berserk, 
obstinate, rude and unruly due to poor 
contact? 


DO YOU find yourself screaming at the kids, 
your Spouse, your pets, the world, because 
you fear someone may bump the table? 


Sinclair Place has the answer — Che Lip! 
The Lip is a feature of the Audio Computers 
16K RAM pack. The Lip fits over the upper 
edge of your TS1000 or ZX81 to lock on 
and eliminate wobble and connector pro- 
blems. Not only is The Lip a superior per- 
former; it is an inexpensive solution to The 
Wobbles. 


Money back guarantee if not satisfied. 


$48.00 plus $1.50 shipping and handling. 


Yes, send me C/e Lip. Enclosed is $48.00 + 
$1.50 shipping and handling. | 


NAME 

STREET 

CITY 

Stee ee 


Send me programs. 


P.O. Box 2288 © Redmond, WA 98052 


token, we can eliminate line 150 if we 
remember that the direction must always. 
be either “F” or “R”. Our abbreviation in 
line 130 makes that rather clear anyway. 
After all this abbreviation and contrac- 
tion of the program, we still run out of 


Listing 3. Finding the Sacred Cows. 


1@ Ene X=163S90 TO 17465 


30 PRINT PEEK X. 
40 POKE x,@ 
XT X 


Listing 4. Warp 81. 


18@ LET D=1906 
Ta LET C2-20 


30 L F=i09 
100 PRINT “WARP? 
11@ INPUT 
200 LET F=F-NeR 


ND #2 
210 LET U= iŅN72) $i iRND 5) +53 
{Wea} 


250 LET S=8 
2650 IF RNOs#6>5 THEN LET 5=216 
278 ns D2=D2+D1 


300 PRINT “WARP. “FUELS. Wa Fa “VE 
i “DIST .V.D 


PRINT 
380 PRINT TAB D2740: “mle” 
44@ PRINT TAB 2@;CHR¢ $ 
450 IF S THEN GOSUB 500 
460 IF Fc<i THEN STOP 
470 IF Dci THEN GOTO S00 

TO 100 

ENT “HOME™ 


6@@ IF >? THEN GOTO 660 
“RETREAT ?" 


$ 
' THEN GOTO 860 
Dil 


E70 RETURN 


memory on line 650. Is there anything we 
can simplify? Look at the routine for 
drawing and positioning the spaceship. It 
takes up over 105 bytes in 11 lines!. If we 
can simplify this, it will be well worth- 
while. 

To begin with, let’s take a look at the 
original ship. Enter line 1 and lines 40 
through 70. POKE in the numbers listed 
in the article and delete lines 40 through 
70. Now enter lines 330 and 370 through 
420. RUN this program. Apparently, 
either Mr. Fox has an unusual notion of 
what a spaceship should look like, or the 
numbers we POKEd into line 1 do not 
designate the same graphics characters 
on the ZX81 as on the ZX80. We must 
choose to change (and simplify) the space- 
ship, or to boldly go where no man has 
gone before in a John Deere wheat com- 
bine. If you do not think it looks like a 
combine, add these lines: 

430 PRINT AT 2,4; “Y” (graphics) 

440 PRINT AT 2,4; “T” (graphics) 

450 GOTO 430 

If you do not want to harvest at warp 
15, I can let you have a small economy- 
size flying saucer which was owned by a 
little old lady who flew it to Titan on 
Saturdays. It can be yours for only 13 
bytes. Delete line 1 and lines 330 through 
420. Enter a new line 330: 

PRINT TAB D2/40; “DGD” (graphics) 


Our spaceship is now smaller, requires 
much less memory, and looks more like a 
spaceship. Unfortunately, when we RUN 
the program, we run out of memory 
before we even see the spaceship. So we 
must simplify a little more. 

That memory-saving way to draw the 
spaceship gives me an idea. Why not use 
the same technique for the Killer Satel- 
lite? We cannot simply PRINT “**”, 
because then we would see the Killer 
Satellite whether or not line 260 said it 
was there. We can, however, delete lines 
425 through 435, and change line 440 to 
read 

PRINT TAB 20; CHR$ S 

This gets us a little closer, but not 
enough. Perhaps we can simplify some- 
thing in the 600 subroutine. Let us look at 
what happens when we are asked 
“RETREAT?” If we answer “Y”, then we 
retreat automatically. There is never any 
need to input “R” in line 140. Therefore, 
we can eliminate all references to D$ 
without affecting the game one bit. Delete 
lines 130, 140, and 230. 

The program still will not run so let’s 
simplify a little more. Again in the 600 
subroutine, if we retreat, we lose a fixed 
number of fuel units (equal to our warp), 
but, if we charge past the Killer Satellite, 
the computer uses a rather complex 
formula to determine how much fuel we 


BART TRUEHEART, WHERE ARE YOU? 


In the Space Opera series games you are Bart Trueheart, the greatest genius hero of Earth. With your companions, the Kindly Old Professor (KOP) and his 

Beautiful Young Daughter (BYD) you travel the spaceways in your faithful ship, The Rover of Space. 
But this idyll cannot last . . . you have enemies. The cunning Little Green Men (LGM’s) of By-Orl and the brutish Bug Eye Monsters (BEM’s) of Milkorf have 

joined forces to form THE MALTRAXIAN ALLIANCE. 
Earth is depending on you to thwart their evil plans. 


SO1: THE MALTRAXIANS ATTACK 


You, as Bart Trueheart, must stop the fleet of the Maltraxian Alliance before it can concentrate and attack Earth. Time is limited and so are your resources. 
You have only your faithful ship, The Rover of Space and whatever you can capture from the enemy. 


Ten levels of play. 
$9.50 


SO2: RAID ON COLONY ALPHA 


CAN YOU SAVE THE EARTH? 


BEM’s have entered the life support dome of Earth’s first interstellar colony. You, Captain Trueheart, must lead the few space marines stationed on Alpha. If 
the invaders are not repelled, Earth's colonization programme will end. 
Fighting under the dome, you must clear the colony of invaders . . . but be careful, if the dome is pierced no one will survive. 


$9.50 


SOA1: DETENTION STATION INTRAG 


“ADVENTURE” STYLE GAMES: 


The professor's Beautiful Young Daughter has been captured by the Maltraxians and imprisoned in the dreaded Detention Station Intrag. 
You must enter this orbital prison, find BYD and free her. Then, most difficult of all, you must escape with her from the alerted station. 
This is no task for the fainthearted; only you, Bart Trueheart, could even consider such a dangerous rescue. 


$13.95 


SOA2: ESCAPE FROM THE DARK SYSTEM 


CAN EVEN BART TRUEHEART SUCCEED? 


You, Bart Trueheart, along with the Kindly Old Professor and his Beautiful Young Daughter have been marooned in a space-lifeboat in the fearsome Dark 


System. 


Your only hope is to boldly land where no man has landed before . . . on Nekros, a LGM colony planet and to steal one of their starships. 
You must evade surveillance satellites, police, security and military forces while finding a ship to take you home. There is little chance of success but what 


else can you do? 
$13.95 


All games are for ZX81 16KRAM 


All games include cassette instructions and designer's notes. 


Add 10% for postage and handling. 
Send cheque or money order to: 


76 


TURNER, ELCY & COM., 
P.O. Box 395 
Port Huron, MI 


SYNC Magazine 


4 G 


_ MAKE YOUR SINCLAIR 
A PORTABLE COMPUTER SYSTEM 


MAC (MOHR & Associates Corporation) Now Of- 
fers You A Durable, High Impact ABS Plastic Brief- 
case That Measures 1712” X 1214" X 42". Wired For 
110-60HZ And Ready To Be Used! 

You Merely Insert Your Sinclair Components (In- 
cluding Printer) In the Preformed Cavities And 
BINGO You Have A Portable Computer System. 
The Briefcase Has Slots For Tapes, Coax Cable 
And The TV Adapter. 


$149.95 Includes Shipping & Handling. 
Kansas Residents add 3% Sales Tax. 


TO ORDER 
SEND CHECK OR MONEY ORDER 
MOHR & ASSOCIATES CORP. 
645 N. Baltimore 
_ Derby, KS 67037 
(316) 788-1526/788-3165 
MC/VISA ACCEPTED 


ANALYSIS 
STOCK SELECTION GUIDANCE 


Now Available! Fundamental Stock Analysis 


No HOCUS POCUS Charting involved! Wo requirement to update data 
daily, weekly or even monthly! With ANALYSIS end your 16K ZX- 
81/TS-1000 you can make sound BUY/HOLD/SELL investment decisions 
at your convenience. ANALYSIS uses information readily avail- 
able in your newspaper and at your local library. ANALYSIS and 
your ZX-81/TS-1000 provide you with a decision support tool 
equivalent to those used by professional investment advisors. 


Fundamental Analysis centers about the premise that a 
security's price performance is dependent upon its expected fu- 
ture earnings growth. ANALYSIS projects compounded earnings 
growth based on historical data using LINEAR REGRESSION tech- 
niques. A security's present price is compared to price ranges 
based on projected earnings. An Upward/Downward movement ratio 
as well as a BUY/HOLD/SELL recommendation is provided as out- 
put. 


YOU CANNOT AFFORD TO BE WITHOUT THIS TOOL! (Tape and 
Tutorial $17.95). 


PORTFOLIO 


Investment Portfolio Performance Analysis, 


File Management Capabilities with your ZX-81/TS-1000 (16K) 


PORTFOLIO provides a powerful tool that transforms your 16K ZX- 
81/TS-1000 into a sophisticated Investment Deta Bank. Track 
stocks, bonds, mutual funds. Maintain accurate records of f 
shares, cost, and set selling price targets. Tracks up to 50 
securities. MENU-driven record management capabilities to ADD, 
CHANGE, DELETE or DISPLAY selected records. Automatically list 
the entire file, one record at a time, viewing tablesus of 
security attributes including value, cost and percentage gain. 
MENU-driven file management capabilities allaw you to input cur- 
rent market prices and recalculate overall portfolio performance 
and individual security performance as well. Save and Restore 
file contents to and from cassette. 


A MUST for any ZX-81/TS-1000 owner who maintains an invest- 
ment portfolio. (Tape and Tutorial $15.95) 


Send check , money order to: 

ORIONS'S BELT Enterprises 
807 N. Fairway Road 
Glenside, PA 19038 


(Add $1.00 postage and handling) 


ER OL LR ae, or ae arte ae eat aan cacti spin E N cas tama Paka YC 


THE EXPLORER’S 
GUIDE TO THE 
2X81 


If you have ZX81 then you need this 
book (120 Pages). 


1K and 16K Programs. 
Games and Application. 
RAM and I/O Circuits. 
Programming Hints 
ROM Routines. 


$11 from: 


TIME DATA 
3 - Waldon Road 
Califon, N.J. 07830 


Enclosed 
Name 
Address 


a anes 


Check/M.O. 


=. en an a an an ap am an am an an am an aa am ewe ee we eee aÀ 


Are you ready to kick 
the arcade game habit? 
Are you frustrated by 
adventure games that 
wear you out just 
entering your moves? 

THEN TRY THIS ONE!! 


You are the STAR HUNTER. You are the 
only one who can prevent a galactic disaster. 
You've been hired to find an artifact of 
fantastic importance. The fate of an entire 
interstellar empire depends on your success 
or failure. You must traverse many locations 
on several worlds, each in a different star 
system. You are alone and you start out 
unarmed. On top of all of this, your star- 
jumps are accomplished with matter-transfer 
booths--a most unreliable and therefore 
dangerous method of travel. The odds against 
survival and/or success are rather high. 


This adventure requires 16K RAM/8KROM 
and can be loaded into the ZX-81 or the 
TIMEX SINCLAIR 1000. 


STAR HUNTER is both easy and fast to 
play, but it does require the use of your 
other computer....THE ONE YOU CARRY AROUND 
BETWEEN YOUR EARS!!! 


Star Hunter 


Is different- 
-It plays fast 
‘Its user friendly 
*Its all in basic 
And its only $9.95 


Send $9.95 per tape to: 
Zebra X-Ray Software 
Box 585 
Chattanooga,Tn. 37401 


lose. This formula should be random to 
keep the game adventurous; there must 
be a chance of coming out ahead by 
daring. But it really does not have to be 
so complicated. Change line 660 to read 
LET F=F-RND*W 

Now the fuel taken by the Killer Satellite 
depends on how fast we are going, and on 


WARP FUEL 
3 S6.905854 


-10.235081 
liia 


VELOC 
22 . 358513 


HOME 


how lucky we are. However, since RND 
is always less than 1, we will always come 
out ahead by daring. Where is the thrill in 
a sure thing? Change line 645 to read 
LET F=F-W/2 
Now it is a toss-up whether retreating will 
be better or not. 
Try to RUN the program now. We are 
making progress, but we are not finished 
yet. Take a look at line 280. What good is 


it? It ensures that our “Status Report” 
will never indicate that we have passed 
home base. Line 470 will stop the game if 
we pass home base. If it is a choice be- 
tween not playing the game and seeing a 
negative distance, I will just delete line 
280. 

Halleluiah! It works! 

Now play the game a few times, How 
many did you win? None? Why not? Even 
without Killer Satellites in the program, 
you always run out of fuel. This goes 
back to the differences in the way random 
factors are handled in the 4K and the 8K 
machines. We could change line 30 to 
give ourselves more fuel, but 100 is nice 
to use. The other solution is to change 
line 200 to change the rate of fuel con- 
sumption. If it reads 

LET F=F-W*RND*2 
we have a game which is not only play- 
able, but winnable. 


Conclusion 

Many of the lessons we have learned 
here are applicable to other programs, 
too. Any short program you find in a 
book or magazine, whether for the ZX80 
or any other small computer, can usually 
be translated into 8K Basic. Watch for 
integer Basics (4K Basic is one) where all 
fractional numbers are rounded off. 

Watch for PRINT AT, PRINT TAB, 


and PLOT statements. They will never be 
the same on two different computers. 
However, they can be used if you know 
where they should be on the screen and if 
you use the appropriate values for the 
ZX81. 

When you have to shorten a program, 
which will be often, follow the same gen- 
eral procedure we used here. Be sus- 
picious of long mathematical formulas 
and long program lines. Try to figure out 
why the person who originally wrote the 
program used each line, and you may 
find a shorter way to do it. a" 


From “Space Warp” by Armando Fox 
(SYNC 2:3) 

This program runs in 1K, but it must be 
entered in two parts. The first part is the 
“set variables” section shown in Listing 1. 
Enter this short program and RUN. Enter 
the following values to be POKEd to the 
REM statement in line 1: 0, 3, 10,0, 0, 132, 
128, 150, 139; 10, 0, 132, 3,133;6. Then hit 
LIST. Line 1 will look like a jumble of 
graphics symbols; these draw the ship. 
Now delete lines 40 through 70 (not 1 
through 30) and continue by entering the 
main program in Listing 2. To run the 
program, simply type RUN; since the 
graphics are stored as a REM statement, 
there is not much that can cause these 
variables to be cleared, except for NEW. 


Fa 


INCREASE YOUR 
ZX81 PROGRAMS 
WITH INFINITY 
4 K or more 


Tari PRB Bk MA S- eee 
BOUNCY Entrapped by the mad scientist, Count Von 


Der Bouncy, it is up to you to fight off his bizarre 
creations known as snogel balls and try to regain TO "RE S/ RS OL ERG 
your freedom. 


an SEND STAMPED & 

NIGHT DRIVER Test your driving skills on a desert 

road. Through difficult turns and blinding curves, 
find out how good you really are. 


So Bel P= AD Re ED 
$7.95" 


CASINO/STOCKMARKET Now you can play the slot 
machines, Keno, roulette, blackjack, and more right 
in your own living room/then see how well you can YAGSEE (Deot C) 
deal in the stock market. Be a millionaire in one night. 
$9.95* 


MISSILE STRIKE Defend against enemy missiles & 
satellites seeking to destroy innocent cities. You are the 
commander of a land-based missile defence center. VILS- RS- BURG 
The fate of the world lies in your hands. 


ENVELOPE TO 


POBTS 5 


7-95 MIC 40097 


*(All orders should include $1 for postage and handling. Out 
of the U.S., include $2 for postage and handling.) 


California residents, please add 612% sales tax. 
Infinity Research Development 

845 Via de la Paz, Suite A120 í ) 
Los Angeles, Ca. 90272 


78 SYNC Magazine 


Get the most from your SINCLAIR 


with these practical, pr 


m) 


The ZX81 
Companion 
* Real Time Graphics 
* {NIONS ian Pr ing 


ek tignal Applications 
* Monitor Listing 


by Robert Maunder 
Creative Computing Preas 


The ZX81 Companion 
by Bob Maunder 


The ZX81 Companion follows the same 
format as the very popular ZX80 
Companion, and assists the ZX81 user 
in four applications areas: graphics, 
information retrieval, education and 
games. This practical guide contains 
scores of fully documented short rou- 
tines plus complete programs and a dis- 
assembled listing of the ZX81 ROM 
Monitor. “Thoughtfully written, detailed, 
and illustrated with meaningful pro- 
grams.”—MUSE 

5'2"x8", 132 pages. #17P $9.95 ($2.00) 


a 


Please send books listed below: 


Postage and handling charges appear 
in parentheses ( ) next to price of 
book. 


Outside U.S.A. add $3.00 per order— 
shipped airmail only. 


Getting 
Acquainted 
With Your 


ZX81 


Third Edition 
More than 80 Programs 


by Tim Hartnell 
Creative Computing Preas 


Getting Acquainted With 
Your ZX81 
by Tim Hartnell 


This informative volume for the new 
ZX81 user contains more than 70 pro- 
grams to help the reader get the most 
from his Sinclair computer. Game 
programs include Checkers, Alien 
Imploders, Blastermind, Moon Lander, 


Breakout, Star Burst and Derby Day. The 


book also shows programs for cascad- 
ing sine waves, plotting graphs and 
tables, data sorting, equation solving, 
plus the use of PLOT, SCROLL, PRINT, 
TAB, PEEK, POKE and much more! 
5'2"x8", 120 pages. #15Y $9.95 ($2.00) 


ogram-filled books from Sync! 


The Gateway Guide to the 
ZX81 and ZX80 | 
by Mark Charlton 


The Gateway Guide is a practical pro- 
gramming manual for the beginner that 
furnishes over 70 fully documented pro- 
grams. The majority of the programs 
have been written for easy conversion 
from machine to machine (ZX81, 4K 
ZX80 or 1K ZX80). The Gateway Guide 
describes each function and statement, 
illustrates it with a demonstration rou- 
tine or program, and combines it with 
previously discussed material to help 
you understand your computer. 
5'%2"x8", 172 pages. #160 $9.95 ($2.00) 


Computers for Kids (Sinclair Edition) by Sally Larsen 


This new edition of Computers for Kids is written specifically to introduce 
children aged 8 to 13 to the ZX81. The book requires no previous knowl- 
edge of algebra, variables or computers, and it enables a youngster to 
program a ZX81 in less than an hour. There’s also a section for parents 
and teachers. “Computers for Kids is the best material available for 


introducing students to their new computer.” 


—Donald T. Piele, Professor of Mathematics, 
University of Wisconsin-Parkside. 


812"x11", 56 pages. #12S $4.95 ($1.00) 


All volumes are softbound. 


O ENCLOSED IS $ 


Card No. 
Signature 

Print Name 
Address 
City/State/Zip 


O Check here for FREE Creative Computing Catalog. 
For faster service, PHONE TOLL FREE: 800-631-8112 


(In NJ only: 201-540-0445) 
Please refer to Dept. 0000 when ordering. 


O CHARGE MY: O American Express O Visa O MasterCard 


-uitt 


Creative Computing Press Dept. NA7F, 39 East Hanover Ave., Morris Plains, NJ 07950 


. NJ residents add 5% sales tax. 


Exp. Date 


T E E EE TOI i lca 


8K ROM 
16K RAM 


Renumbering 


Basic Statements 
Allen H. Wolach 


Many versions of Basic have a Re- 
number utility. This is used to renumber 
Basic statements starting at a specified 
statement and spacing statements with a 
given increment between the statements. 
For example, if the starting number is 4 
and the increment is 7, the lines in the 
Basic program would go: 4, 11, 18, 25, 
32, etc. Most programmers start their 
programs at statement 10 and use incre- 
ments of 10. 

The advantages to a Renumber utility 
should be readily apparent. Sometimes a 
programmer uses all of the numbers be- 
tween two Basic statements while modi- 
fying a program. A Renumber utility 
can be used to place unused statement 
numbers between all statements. A com- 
pleted program is also more attractive if 
all of the statements are spaced at con- 
stant increments. 


A Sinclair Basic Renumber Program 

This article presents two Basic renum- 
bering programs in Sinclair Basic for the 
8K ROM. The program in Program 1 is 
a short program that can be used with 
1K or 16K RAM. This program only re- 
numbers the Basic statements. It does 
not do anything about the destination 
addresses for GOSUB and GOTO 
keywords that must be changed after a 
program is renumbered. 

The program in Program 2 is a longer 
program that also calculates the destina- 
tion address for each GOTO and 
GOSUB statement. 


How to Use the Program 

The user must select one of the two 
programs and enter it on a cassette tape. 
Whenever the user decides to work on a 
new program, he first enters the renum- 
ber program into his computer. During 
the stages of program development the 
renumber program can be saved on cas- 
sette along with the user’s program. The 
renumber programs occupy consecutive 
Allen H. Wolach, Department of Psychology, 
Illinois Institute of Technology, Chicago, IL 
60616. 


80 


high statement numbers (9981 through 
9999 for Program 1 and 9938 for Pro- 
gram 2). This leaves almost all possible 
Basic statement numbers for the pro- 
gram that is being developed. 

The variables in the renumber pro- 
gram were selected so that it would be 
very unlikely that the user would have 
the same variable names in the program 
that he is developing. 

When the programmer decides to re- 
number the program, he enters GOTO 
9982 (shorter program) or GOTO 9939 
(longer program). Both programs 
prompt the user for the new starting 
statement of the user program and the 
increment between Basic statements. 
The user can choose any number from 1 
to 255 for the starting number and for 
the increment between statements. After 
these numbers are entered, both pro- 
grams renumber the user’s program. If 
the longer renumber program is used, 
the program prints out a series of state- 
ments such as 

25 GOTO 50 

30 GOSUB 5 

40 GOTO * 

The user must edit statement 25 in the 
renumbered program so that the number 
after GOTO is changed to 50. Statement 
30 must be edited so that 5 occurs after 
the GOSUB. The * in statement 40 indi- 
cates that the GOTO in statement 40 
was not followed by a number or that 
the original number did not start imme- 
diately after the GOTO. Note that the 
renumber program is written so that it 
does not get renumbered while the users 
program is renumbered. In fact, any 
statement number above 8959 will not 
be renumbered. 

After a program is completed and re- 
numbered, the renumber program can 
be deleted statement by statement. Once 
the renumber program is deleted, a mod- 
ified program cannot be renumbered by 
the renumber program unless the user is 
willing to reinsert the renumber pro- 
gram by hand. 


How Program 1 Works 

Sinclair computers with the 8K ROM 
start storing Basic statements at memory 
location 16509. Each stored statement 
starts with two bytes that contain the 
number of the Basic statement. The first 
of these two bytes, byte 16509 for the 
first Basic statement, contains the low 
portion of the statement number. Sup- 
pose that one has a Basic program in the 
computer. The command 

PRINT PEEK  16509*256+ PEEK 
16510 
would print the decimal equivalent of 
the first statement number. 

The second two bytes in a program 
statement, 16511 and 16512 for the first 
program statement, contain a number 
that is the length of the Basic statement 
including the ENTER that occurred at 
the end of the statement. These two 
bytes have the high portion of the num- 
ber in the higher byte (16512 for the first 
Basic statement) and the lower portion 
of the number in the lower byte (16511 
for the first Basic statement). 

Suppose that the variable III contains 
the address of the first (high) byte of a 
Basic statement (e.g., 16509). Location 


Program 1. Renumber (1K). 
= STOP 
23962 LET JJ3J3=0 

DAN PRINT “ENTER STARTING NUMBE 
2984 INPUT GGG 

3098S PRINT “ENTER INCREMENT“ 
39386 INPUT FFF 

È LET IIZI=165089 

29838 GOSUB 9991 

agag LET III=III+PEEK (III+2) +PeE 
ER CIIIS? 2S6 +4 

29928 GOTO 3958 

3991 IF PEEK I16>34 THEN STOP 
39902 e a ty R GoTo 9995 

` + 


I 
a396 POKE (TIT+4) . GGG 
G G F 


III = 1 contains the second byte of the 
statement number. Numbers III = 2 
and III = 3 are equal to the locations of 
the low and high bytes of the number of 
bytes in the statement. If III is set to the 
location of the high byte of a statement 
number, the high byte of the next state- 
ment number has to be | 

PEEK (III +2) + PEEK (III + 3) 
*256 +4 
That is, 

PEEK (III+2)+ PEEK (III + 3)*256 
is equal to the length of the current Ba- 
sic statement including ENTER. The 4 
is the sum of the two bytes occupied by 
the statement number and the two bytes 
that indicate the statement length. The 
statement 

LET III=IIJI+ PEEK (II+2)+ 
PEEK (III+ 3)*256+4 
can be used to increment III to the ad- 
dress of the first byte of the statement 


SYNC Magazine 


AIR TRAFFIC CONTROL 
Cassette software for your 16K 
ZX81 or TS1000 


Meet the challenge of up to 24 aircraft speeding 
across your screen to 5 different destinations! 


No “safe” altitudes - every plane is your responsibil- 
ity. You must identify type, heading and altitude and 
skillfully guide them through crowded airspace, while 
a real-time clock builds the pressure. 


Every game is different. 

Aircraft, ranging from a Cessna 152 to 
the new Boeing 767, enter your airspace 
whether you are ready or not. 


Over 3K_of machine code means immediate re- 
sponse. Experience the tension as you race to avoid 
the controller's nightmare - a mid-air collision! 


Order AIR TRAFFIC CONTROL from: 
Powerplay Systems 

P.O. Box 752, Woodside 

New York, NY 11377 


Send $12.95 plus $1.50 s&h (NY res. add sales tax). 
Allow 3-4 weeks for delivery. 


For ZX80/ZX81 with 8K ROM and 16K RAM 


AN ANAGRAM-, CROSSWORD-TYPE GAME, 1 to 6 PLAYERS 


e In home on ckassnoom BON MOT makes Learning fun 
and fun educational. 


o Develops vocabulary and spelling skilts 


Choose from 11 different sized "game boards" to 
control the Length of each game 


o Competitors' challenges cause players to use a 
dictionary for verrtfications and definitions 


o Rules and playing tips on reverse side of cassette 
o An exciting game requiring mone than finger dexterity 


Only $9.99 each. 5 or more only $7.00 each. 
(Pennsylvania customers add 6% Sales Tax. If mailed 
outside the United States please add 10% for shipping.) 


Send check and order to: 

GOTWALD, Box 404, DAVIDSVILLE, PA 15928 
Please send copies of BON MOT to: 
Name 


Address 


LOAD EASIER 


THE MICROCOMPUTER USER'S 
BOOK OF TAPE RECORDING 
($5.80), 


a comprehensive, easy-to-use mine 
of information on how to solve tape 
problems. 


TEST AND ALIGNMENT 
CASSETTE ($9.80), 


which has test signals and 
instructions on how to set up your 
recorder’s head, and how to check 
the speed. 


THE HILDERBAY LOADING AID 
($11.90), 


a simple-to-use device which lets 
you get the volume setting right first 
time: if a tape will load at all, you will 
be able to load it first time. 


send check or International Money 
Order to: 


Hilderbay Ltd. 


8/10 Parkway 
Regents Park 
London NW1 7AA 
U.K. 

Name 

Address 

City 


State/Zip 


number of the next Basic statement. 
Suppose that one has a decimal num- 
ber that is less than 255. This number 
can be added to the low byte of a state- 
ment number. The computer contains a 
number between 0 and 255 in this byte. 
If the sum of these numbers is greater 
than 255, a 1 must be added to the high 
byte of the statement number. State- 
ments 9991 through 9998 in Program 1 
are a subroutine that adds the increment 


(interval between Basic statements) to’ 


what was the number of the last renum- 
bered statement. Assume GGG contains 
the new statement number for a state- 
ment that is being renumbered. State- 
ment 9992 tests to determine if the num- 
ber is less than 256. If it is less than 256, 
control passes to statement 9955 which 
pokes 0 into the high byte of the state- 
ment number because JJJ was set to 0 in 
statement 9982. Then statement 9996 
pokes the new statement number in the 
low byte of the statement number in 
GGG by the appropriate increment, FFF. 
Then the main program is reentered 
(statement 9998) as statement 9984. 

If the current statement number is 
greater than 256, JJJ, the high byte of 
the statement number, is corrected in 
statement 9994. That is, the low byte of 
the statement must have 256 subtracted 
to account for the 1 that was added to 
the high byte. Statements 9995 and 9996 
POKE in the new high and low bytes for 
the statement number. Statement 9997 
increments the statement number and 
statement 9998 returns control to the 
main program. 

Statements 9983 through 9986 in Pro- 
gram 1 request and input the starting 
number and increment for the renumber 
program. Statement 9987 sets III to the 
address of the high byte of the first state- 
ment number. Statement 9998 transfers 
control to the subroutine that POKEs in 
the new statement number. When the 
main program is later reentered, state- 
ment 9989 increments III to the address 
of the high byte of the next statement 
number. 

Statement 9988 returns the program 
to statement 9988 so that the next state- 
ment can be renumbered. Every time the 
subroutine for incrementing the state- 
ment number is entered, statement 9991 
checks to determine if the current high 
byte of a statement number is greater 
than 34. If this number is greater than 
34, the program stops, insuring that the 
renumber program will not be 
renumbered. 


How Program 2 Works 

Statements 9940 through 9944 request 
and input the starting number, GGG, 
and the increment, FFF. Statements 
9944 through 9946 provide a heading for 
the GOTO and GOSUB statements that 


82 


will be listed. Variable III is set to 
16513, the beginning of the first Basic 
statement, in statement 9947. 

Statement 9948 determines if one has 
reached the end of a Basic statement. 
The number 118 is the Sinclair code for 
the ENTER that terminates each Basic 
statement. If the end of a statement has 
not been reached, statements 9952 and 
9953 determine if III is pointing to a 
GOTO (236) or a GOSUB (237) code. 
The variable HHH is set to 1 for a 
GOTO or 2 for a GOSUB code in state- 


ments 9952 and 9953. The variable 


HHH remains a O (set in statement 
9939) if III is not pointing to a GOTO 
or a GOSUB code. 

Statement 9954 checks to determine if 
III is set to the code (126) that indicates 
a five byte binary number is to follow. If 
a binary number follows in the Basic 
program listing sequence, statement 
9954 increments III to the address of the 
first byte after the binary number. That 
is, statement 9954 adds 5 to III and 
statement 9956 adds an additional 1 to 
make a total of 6. The binary number 
plus the 126 code takes a total of six 
bytes in the Basic statement. A binary 
number can contain 126, 236, or 237 in 
any or all of the five locations occupied 
by the binary number. These numbers 
must not be interpreted as a GOTO, 
GOSUB, or the beginning of a number 
code. 

Statement 9955 transfers control to 
statement 9958 if a GOTO or GOSUB 
code is encountered. If a GOTO or 
GOSUB code is not reached, III is incre- 
mented by 1 to the next byte (statement 
9956) and control is returned to state- 
ment 9948 to check the next memory lo- 
cation. When an ENTER code is finally 
detected in statement 9948, the next byte 
in the Basic sequence is checked (state- 


ment 9949) to determine if the last pro- 
gram statement is renumbered. That is, 
III is set to the first byte of a statement 
number. If this byte is greater than 34, 
the statement number is above 8959 and 
is not renumbered. 

Statement 9950 increments MMM 
which was set equal to the starting num- 
ber for the Basic program in statement 
9942. Every time statement 9950 is en- 
countered, MMM is incremented by 
FFF which contains the increment num- 
ber for the renumber program. Since 
statements 9948 and 9949 are only en- 
countered when III is set to the address 
of ENTER (118) at the end of a state- 
ment, statement 9951 is used to incre- 
ment III to the next Basic keyword. 
That is, the next statement number ad- 
dress and the two bytes containing the 
length of the next Basic statement are 
skipped. 

Statement 9958 prints out the renum- 
bered statement number of a GOTO or 
GOSUB statement. The word GOTO 
(statement 9959) or the word GOSUB 
(statement 9960) is printed by statement 
9958 or statement 9959. Remember that 
HHH is 1 for a GOTO statement 9961. 
Statements 9958 through 9961 cannot be 
encountered unless III points to the ad- 
dress of a GOTO or a GOSUB code in 
the Basic statement. 

The numbers that a user enters after a 
GOTO or GOSUB keyword are coded 
by the Sinclair ROM as a number be- 
tween 28 and 37. That is, O is 28, 1 is 
29...9 1s 37. A GOTO or GOSUB 
code need not be followed by a number. 
An expression such as (A * B) could 
have been entered after the GOTO or 
GOSUB. Statement 9962 checks to de- 
termine if a number follows the GOTO 
or GOSUB code. If a number. does not 
follow the GOTO or GOSUB code, an 


Program 2. Renumber with GOTO and GOSUB Destinations. 


TOP 
2939 CET HHH =0 
3940 PRINT “ENTER STARTING MUMEE 


R 
3941 INPUT GGG 
3942 LET MMH=GOGG 
9343 PRINT “ENTER INCREMENT" 
‘ INPUT FFF 
3945 _ PRINT “REINSERT THESE STATE 
INT 
Q947 LET III=16513 
Sues IF PEEK ITE<¢>116 THEN GOTO 
3949 IF PEEK (CIII+1) >S4 THEN GOT 
0 3366 
a50 LET MMH=MMM+FFF 


$351 LET III=III+S 
2952 IF PEEK III=2356 THEN LET HR 


r= 

3954 IF PEEK III=126 THEN LET II 
T=IIIC~S 

SSSS IF HHH>@ THEN GOSUB 93958 


3356 LET III=III+iłi 

Sess? GOTO 93946 

3958 PRINT MMM; 

2939 IF HHH=1 THEN PRINT 


3360 IF HHH=2 THEN PRINT “ 
39061 LET HHH=e 


“ GOTO 
GOSUE 


S962 IF PEEK (III+ł?} >27 AND PEER 
CIII+1) <38. THEN GOTO 3965 

39563 PRINT 

2964 RETURN 

S96S LET J =2 i 

3966 IF PEEK (Iit+ih3)} =i26 THEN 

GoTo @ 


2953 IF PEEK III=237 THEN LET HH 


S36? LET JJUeJIJJU¢1 

S968 IF Jd4?5 THEN GOTO 9963 
3969 GOTO 3966 

3970 LET LLL=1 


LET KKK=e2 
2 cat eee 
3973 LET JUuJsJdI-1 
S974 IF PEEK (III+JJJ4-i) =236 
CITI+tJJJ3-1) =237 THEN coro 3 


3975 LET LLŁLŁL=LLL 18 
3a76 GOTO 9292372 


CLTIT+eded ~ 


EEK JJJ#256+PEEK (Jdu+i 
GOTO 9983 
NNN=NNN +1 
9981 JIJSIIS+PEER 
EK (Jdd4+3) 25674 
S982 GOTO 9979 
$983 LET KKK=GGG+NNN#FFF 
S984 PRINT KKK 
5985 RETURN 
LET JJu=6 
LET III=16509 
3988 GOSUB 9992 
S989 LET III=III+PEEK 
EK (III+) 2256+ 
GOT 
8991 IF PEEK I1i:54 THEN STOP 
3392 IF GGG<256 THEN GOTO 9995 
2893 LET JJJ=JJJ+1 
8994 LET GGG=G6G6-256 
2895 PORE III, JJ 
= E trri+i3 


(GISt]2) PE 


(ILLi+2) +PE. 


3996 POK „GGG 
3997 LET GGG=GGG+FFF 
3398 RETURN 

S599 STOP 


SYNC Magazine 


Cassette Software for the 2X81 
and the Timex/Sinclair 1000 


DATAPLOT 


A program to plot free formatted data stored in REM statements. 
Draws and lables the axes, titles your plot and connects your 
data points. DATAPLOT will also draw figures, plot from an 
equation, and plot on a grid if necessary. Plot stock and 
metal prices, interest rates, scientific data, etc. with this 
versatile program. 310 16K 


TEXT and PRODIR 


Cur most popular program set. T - A program for easy text 
editing, storage and display. Recall pages of reports, letters, 
etc. without splitting words at the end of a line. -FRODIR - 

A programed directory to organize programs and ease loading. 

310 16K 


BLACKJACK 


Practice your strategy. Hit. stand, double down, split, and 
take insurance with this Nevada casino game. Deals out a 
complete deck before shuffling. $10 16K 


MATHFUN 


First grade math with creative graphics to help your children 
learn and review while having fun. Five 2K programs covering 
addition, subtraction, time telling and more. Developed by 

a certified teacher. $20 2K watch for our complete 
educational software line to be out soon. 


$1 discount if you order 2 program sets and request 
them to be put on one tape. Prices include shipping. 


Send check to our new location: 


Peak : Box 8005 Suite 231, 
goer 30 80306-8005 


YOU NEED A FULLEL—-SIZED KEYBOARD, 
BUT WHY PAY MORE? 


This a new, FULL-STROKE, 53 KEY, surplus, GOLD-CONTACT keyboard, 
originally made for a Texas Instruments computer terminal .Comes 
with 6 inch space bar, 2 oversized shift keys, an oversized 
return (enter) key and 12 spare keys which can be used for the 
special circuits described below. An optional parts kit is 
available with all the electronic parts required. (IC’s' with 
sockets, resistors, capacitors, LEDs, etc.) You provide only, 
wire solder and a small piece of perf-board for assembly. 


The keyboard comes FULLY ASSEMBLED and ready to connect to your 
computer via a 13 conductor ribbon cable (supplied). The 
expansion connector is left free for your use with printer, RAM, 
or other devices. 

The keyboard comes with full plans for the following circuits: 


ECTRONIC SHIFT-LOCK W T 
fas T T Once activated this circuit 

will allow you to continuously input any key just by holding it 
down. Includes variable speed control. 
AUTO-SHIFT FQ E TED F TIONS You decide which shifted 
functions (like $ = + comma delete etc.) you will place on 
dedicated keys, to be used WITHOUT SHIFTING. The parts kit 
contains enough parts to dedicate 10 keys. 


——Shipping/handling/insurance - add the following: 
US, APO, FPO-$35, ANADA-$6, = 


$ 00 COMPLETELY ASSEMBLED KEYBOARD & CIRCUIT PLANS 
OTHER FOREIGN-$12 
Texas residents please add $2.53, state sales tax. 


FOR PARTS KIT ADD $13 & AN ADDITIONAL $1 FOR POSTAGE 
6 ~~I Texas residents please add $.72, state sales tax. 


INCLUDE MAILING LABEL FROM COVER 


Only U.S. DOLLARS CAN BE ACCEPTED. 
MONEY ORDERS PREFERRED. PERSONAL 
CHECKS MUST CLEAR BEFORE SHIPMENT. 


195 LELANI 


SAN ANTONIO, TX 78242 


PREMIUM 


CASSETTES 


ž COMPUTER GRADE 
ë 100% ERROR-FREE 
® FULLY GUARANTEED 


> TM 3 
The Micro-Trac Generation 
@ High Frequency Response @ Wide Dynamic Range @ 
@ Used by Software Firms & Computer Hobbyists @ 


& Choice of School Districts Nationwide 


LENGTH 12-PAK  24-PAK 


C05.: 308 
G10... cecsccccsnseasstanem ad @ 
"“CASES.......ccscseccens® 21 


*Cases recommended to protect sensitive cassettes. 


—UPS SHIPPING — 
(No P.O. Boxes please) 
$2.00 (12-pak) $3.00 (24-pak) 


—Canadian shipping multiply by 2— 


#1 COMPUTER TAPE 
IN THE USA! 


—write for volume prices— 


TOLL-FREE 
(orders only) 
1-800-528-6050 
ext. 3005 
In Arizona 
1-800-352-0458 
ext. 3005 


$ .59 
$ .69 
$ .89 
$1.09 
$1.39 
$1.69 
$ .20 


MICRO-80 m INC. 


2665 Buzby Road 
Oak Harbor, WA 98277 
— Distributors Wanted— 


7 MAESAFALLEN, BOW ST, DYFED, SY24 5BA 
ZX81 & Spectrum 
Games 
Now NEW LOW prices!!!! 


PROGRAM PRICE 
Chess 1.4 $17.95 


10 levels mc 


Adventure $17.95 
140 locations based on the original 


Invaders 
Fast mc arcade action 


Mazeman 
All the features of the original 
arcade version m/c 


Add $2.00 for postage/handling 


NEW STATE OF THE ART 
TS1000/ZX81 (16K) SOFTWARE 
ENTIRELY MACHINE CODED 


3D SPACE BATTLE. incredible, super fast and complex 3D graphics. You are in 
the starfighter cockpit and the screen is your window over an unlimited Universe 
background. You see the Alien Starfighters coming and firing their Photon Beams to 
you. Destroy as many as you can with your Laser Gun while you have energy. See 
the Explosions, Laser Beams, Photon Beams, Alien Starfighters, all in full 3D. Full 8 
direction control with just 3 keys. 


LUNAR LANDER. The first real simulation of the well known arcade game for the 
TX1000/ZX81 computers. Two stages of resolution. Smooth motion of the Lunar 
Module. Selectable levels of gravity and inertia. Full graphics. 


SUPER-ZXCLOCK. Giant display up to 10nths of second. Mini-display up to 
100nths of second. 10 chronometers. Musical alarm. 


ORCHESTRA. The computer plays your favourite melodies without add-ons. 
You don’t need to know how to play any instrument: just enter a sequence of note 
names and durations. Stores up to 3000 note melodies on tape. Full editing capa- 
bilities. User re-definable music notation. Perfectly tuned on A440. Allows sound 
over 3 octaves, with semitones and rests. Sounds through the TV speaker or an 
amplifier connected to the MIC output of the computer. Uses BASIC to set-up and 
edit sequence. 


ONLY $14.95 EACH (INCLUDING AIRMAIL). SEND CASH, 
CHEQUE OR MONEY ORDER PAYABLE TO JOSEPH-ORIOL 
TOMAS. VISA & M/C ACCEPTED. PLEASE ALLOW UP TO 28 
DAYS FOR DELIVERY. SPANISH VERSIONS ALSO AVAIL- 
ABLE. 


ATTENTION ZX SUPPLIERS: WE ARE INTERESTED IN AC- 
QUIRING LICENSING RIGHTS TO TRANSLATE & MARKET 
YOUR ZX SOFTWARE IN SPAIN (THIS IS ALSO THE BEST 
WAY TO PROTECT YOUR COPYRIGHT). WE ARE ALSO THE 
MAIN DISTRIBUTORS OF ZX HARDWARE AND BOOKS IN 
SPAIN. SAMPLES WELCOME. 


WE ARE ALSO LOOKING FOR SOMEONE TO PRODUCE 
OUR SOFTWARE IN U.S.A. UNDER LICENSE AGREEMENT. 
SEND YOUR OFFER. 


Joseph-Oriol Tomas, Director 
VENTAMATIC Micro-Informatica 
Avda. de Rhode, n° 253 
ROSES (Girona) 

SPAIN 


PROGRAMS WANTED 


Do you have a program for the SINCLAIR 
ZX81 or TIMEX 1000? 


MEMORY MASTER is now seeking new 
programs to add to our software line. 


If you have a quality program, suitable for 
sale in retail stores, we are interested. 


Royalties paid for programs we market. 


Send name, address, phone and descrip- 
tion of program to: 


Memory Master 
P.O. Box 774 
Barnegat, N.J. 08005 


Dealer inquiries welcome. 


NEW 


From Intercomputer 
A 
Full Line 
of 
Software 
for your ZX81 or 
Timex Sinclair 1000 


Please send mea FREE 
Program and Catalog 


Name 


Address 


Send this coupon to: 
Intercomputer 
Box 90 
Prudential Center 
Boston, MA 02199 


asterisk (statement 9963) is placed after 
the statement number and GOTO or 
GOSUB that are on the screen. Then 
control is returned to statement 9956 so 
that III can be incremented to the next 
location in the Basic sequence. 

If a number is located after GOTO or 
GOSUB, statement 9962 causes state- 
ment 9965 to be encountered. State- 
ments 9965 through 9968 start JJJ at 2 
and increment JJJ as successive memory 
addresses are checked to determine the 
length of the number. If the number is 
greater than 4, statement 9968 transfers 
control to statement 9963 to print an as- 
terisk after the GOTO or GOSUB on 
the television screen. The program as- 
sumes a valid number following a 
GOTO or GOSUB cannot be greater 
than 4 bytes long. 

After statement 9966 detects a byte 
containing 126 (the beginning of a bina- 
ry number), control is transferred to 
statement 9970. At this point III + JJJ 
points to the location after the number 
in the GOTO or GOSUB sequence. 
Statements 9970 and 9971 set LLL and 
KKK to 1 and 0, respectively. 

Statements 9972 through 9976 form a 
loop that changes the coded number of 


following GOTO or GOSUB into a deci- 
mal number. The loop starts (statement 
9972) by examining the last coded digit 
in the number, and subtracting 28 from 
this coded number to make it into a deci- 
mal number. The number is multiplied 
by LLL which is started at 1. The vari- 
able JJJ is decremented by 1 in state- 
ment 9973. 

If the number was only one digit long 
or a 236 (GOTO) or 237 (GOSUB) code 
is detected in statement 9974, control is 
transferred to statement 9977. If the 
number is more than one digit long, the 
multiplier LLL is multiplied by 10 and 
statement 9976 transfers control to state- 
ment 9974. Statement 9974 decodes the 
second from the last digit of the number, 
multiplies it by LLL, which is now 10, 
and adds this number to the last digit of 
the number. The loop in statements 9972 
through 9975 is not completed until the 
entire number is decoded. 

Statement 9997 sets JJJ to 16509, the 
starting address of the Basic statements. 
The loop in statements 9979 through 
9982 looks at each Basic statement ad- 
dress and checks to determine if the ad- 
dress is greater than or equal to KKK 
which is the decoded old address of the 


current GOTO or GOSUB statement. 
After an address is checked, 1 is added 
to the variable NNN. 

When an address is encountered that 
is greater than KKK, NNN contains a 
number that equals the number of Basic 
statements before the statement that is 
the destination of the GOTO or GOSUB 
Statement. 

Statement 9983 uses this formula: 
New destination address = New start- 
ing address + (number of Basic state- 
ments before the destination statement - 
1) * increment. This is used to calculate 
the new destination address for the 
GOTO or GOSUB statement in ques- 
tion. Statement 9984 prints the new des- 
tination address after the GOTO or 

Finally, statement 9985 returns con- 
trol to statement 9956 to repeat the pro- 
cess outlined above for the next Basic 
Statement. When the last GOTO or 
GOSUB statement is listed, statement 
9949 transfers control to statement9986. 
Up to this point the original program 
has not been renumbered. Statements 
9989 through 9998 renumber the pro- 
gram in the same way that statements 
were renumbered in Program 1. In fact, 
statements 9987 through 9998 in Pro- 
gram 2 are identical to the statements 
with the same statement numbers in 
Program 1. 


No-Limit 
Hi-Draw 


Challenge any 5 (6-handed) of ten 
opponents; each plays differently. 


ZX81/TS1000 (16K) ZXP12C (Cassette). . $16.95 
Postage & Handling.. ...61.50 N.Y. Residents, add 7% sales tax 


Sacically Sof 


Company 


POKE 


P.O. BOX 2977 © SYRACUSE, NEW YORK 13220 


November/December 1982 


229 Ravenwood Ave. 


ROM 


DISASSEMBLED 


ZX-81 


TIMEX-1696 


8K ROM DISASSEMBLY LISTING...OVER 10@ PAGES !1! 


This is not a manual or textbook... 
But much more than just a 


‘raw’ disassembly. 


All major BASIC command routines (e.q. FAST,SCROLL,CLS) 
are LABELLED and CROSS-REFERENCED. We've added helpful 
comments in many cases. 


With this text as a reference you will be able to: 


* Reduce program length and RAM requirements by USR 
calls to ROM routines 


* Add machine code speed to your graphics without 
re-inventing the wheel for every routine 


* Load programs faster since the ROM routines are 
available at power-up 


* Work around, or with, the ‘peculiarities’ of the 
Z2X-81...Display handling...Variables...Interrupts 


Send $19.95 plus $2.88 postage to: 


D A DATASYSTEMS 
Rochester, NY 14619 
716-328-3661 


YORK 10 
BASF-DPS 


WORLD STANDARD TAPE 


MONEY BACK 
GUARANTEE 


— COMPUTER GRADE 
craves BLANK CASSETTES 
DATA TRAC / C-05, C-10, C-20 


CASSETTE STORAGE CADDY 


NeW! 
ORGANIZE 
YOUR TAPES! $ 
$295 EACH panet QUALITY TRACTOR FEED 


DIE-CUT BLANK 
TYPE HARD BOXES CASSETTE LABELS 


. 


INTRODUCTORY OFFER! 


ORDER 2 DOZ. CASSETTES, ORDER 1 CADDY 


GET 1 CADDY FREE! 2257202 casseres ao 


rely O 
tape YOU h 
enE'S WHAT. gyr YORK 10 CA nice to have 8 Sertorm with SUC 
HERS sAY AB tput to the o% of the t a ioo e 
itor Ov cially buil jity. And the fas rt surprise 
“we Monro ith a Specia Y n ually was a plea 
compute absolutely "n service WE Son 
meter an tthe tap oulos om Pa 
dropouts thr papado” R Madison. “YOU'VE TRIED THE REST, 
Beaverton", NOW BUY THE BEST” 


Call: 213/710-1430 


for IMMEDIATE SHIPMENT oS 
| on Credit Card Orders. 
ORDER NOW... YORK 10 Computerware 


MAIL TO: 


24573 Kittridge St., #A 3, Canoga Park, CA 91307 


am am ee ee es es es ORDER FORM =e oo =m oe æn æm m og 


Each cassette 
a 1 DOZEN 2 DOZEN TOFAL | su se taa YORK 
a O 7.50 g 13.50 || 10 labels only. 
O 8.00 ( 14.40 Cee Boxes are sold 
10. 18. separately. Ship- 
3 o e K AT ae Su ments are by 
O 2.50 O 4.00 | | SC P'S. unless 
$ Storage Caaay @ $2.95 ea.: Quantity: Parcel Post re- 
FREE: Quantity: quested. Boxes, 
i label 4.00/1 = 3000/1 Caddies, and blank 
A [pee Oe et —| einer 
% UB TOTAL WSR shipping charges 
Calif. residents add 6% sales tax e AA when ordered with 
q Shipping/handling 1 doz. $2; 2 doz. $3.50: cassettes. When 
3 doz. $4.50; each additional doz. $.50. ordered without 
Endy oath 
i or Parcel Post instead of UPS ADD $1 pre a ar eE 
Outside Continental USA, ADD $2 | PE eae ONE. 
5 uae feo Caddies $1.00 
Check or M.O. Charge to sey ary = 
2 enclosed [ | Credit Card: [| VISA [] MASTERCARD HANDLING ON 
Į C PLEASE SEND QUANTITY DISCOUNTS Se 
‘ Card No. Exp. 
i Name 
§ Address 
i City State/Zip 
a Signature 
5 Computer make & model Disk?(y/n) 


ys oe fe ef ee ee a ee ae a ne es a ee ne re 


If you own a ZX81 
or a TIMEX 1000 
then you need the 


ABACUS CONTROLLER 


Developed to 
eliminate tedious 
swapping of plugs 
when LOADING or 
SAVING programs 
on cassette. 


One switch 
operation allows 
selection of TALK, 
SAVE, CUE and 
LOAD modes. Using 
a built-in 
microphone/speaker 
to allow fast and 
reliable program 
naming and cueing. 


Price $24.95 inc. 


Now available - AVENGER - an 
Arcade style, machine code game 
for the 16k ZX81 written by the real 
Kevin Flynn. Guaranteed the best 
there is. 

Price $9.95 inc. 


186 St. Helens Avenue 
Swansea. West Glam. 
Great Britain 

tel: 0792 50282 


Protect your Sinclair in a portable, dust free work station. 
Extra storage space for 6 tapes, connecting cables, power 
and ram pack. 

Removable lid allows in-case operation. 

Non-skid feet prevent desk top scratches. 


Absolutely the most efficient and convenient way to 
protect, store, and transport your computer system. 
Only $54.95 in continental U.S.A. 


Dealer Inquiries Welcome 


CASES INC. P.O. Box 33820 Seattle, WA 98133 (206) 365-5210 
VISA MASTERCARD 


Your Timex/Sinclair 


Introduction 

The number and variety of “on-line” 
computer services is growing rapidly. 
Users can access vast data bases of news 
services, stock exchange market data, 
weather information, agricultural assist- 
ance, and whatever else the service pro- 
viders can dream up. In addition to public 
services, private groups such as local com- 
puter clubs are beginning to use data 
transmission to distribute their bulletins 
and programs. The user can even dial up 
original computing services. 

All that is required to be able to avail 
yourself of such services is a terminal, a 
telephone, and a modem—the means of 
connecting the two. 

A terminal is essentially a device with 
which a human being and a computer 
communicate. It can be “hardcopy” (a 
teletype or typewriter like device) or a 
“CRT” (using a TV type screen). In either 
case a keyboard or some other means of 
inputting data is necessary. A typical CRT 
terminal costs in the area of $1,500, with 
the hardcopy terminals usually being a 
little more, due to their mechanical 
complexity. 

The Sinclair is a prime example of the 
CRT terminal: it has a keyboard 
(although somewhat quaint) plus the TV 
as a display unit. Thus it is not surprising 
that ZX81 and T/S 1000 users are inter- 
ested in using their computers as terminals 
for the larger mainframe computers. The 
only thing lacking is the means of con- 
necting the computer to the telephone. 

The user must have a modem to form 
the interface between the terminal and 
the public telephone system. Since most 
telephone companies view with grave con- 
cern the idea of anyone attempting to 


V. B. Rice, 119 Exeter Rd., Ajax, Ontario, Canada, 
L1S 2K4. 


November/December 1982 


Can Become a Terminal 


V. B. Rice 


send electrical signals through their lines 
and relays, the modem performs the 
function of translating the electrical im- 
pulses from the terminal into audible 
tones acceptable to the normal telephone 
lines through which we speak to each 
other. At the receiving end of the tele- 
phone circuit, another modem accepts 
the tones from the telephone speaker and 
converts them back into electric signals 
compatible with the receiving computer. 
The tone generating and recognition cap- 
abilities of this device resulted in its rather 
strange name which is a contraction of 
frequency MOdulator/DEModulator. A 
modem costs, in Canada, anywhere from 
$250 (Radio Shack) up to well over $1,000, 
depending on the speed with which it can 
transmit and receive data. 


An Interface Board 

It would be very pleasant if the ZX81 
could merely be attached to a modem 
and be magically transformed into a ter- 
minal. Unfortunately, this is not directly 
possible. You must have a device to con- 
nect a typical modem and your Sinclair 
called an Interface Board. Fortunately, 
you can build such a board because it is a 
reasonably simple circuit to wire up. If 
you have had any experience working 
with IC’s (Integrated Circuits), you could 
build one easily in a weekend, with time 
off for sleeping. With no experience (my 
case), you should be able to have it 
operational in a week of working even- 
ings. The cost should be in the range of 
$25 to $50 (Canadian), depending on how 
much shopping around you are willing to 
do for the parts. 

Although I designed and tested this 
interface board on a ZX81, it should work 
on the ZX80 also. However, the Basic 
interpreter will not be able to keep up 


with the line speed when receiving data 
because of the lack of a “FAST” mode on 
that model. The speed problem can be 
eliminated by the use of machine code 
programming for that routine. From the 
little information I have been able to glean 
on the new Sinclair Spectrum computer, 
this board will probably operate on that 
machine also. 

As an added bonus, this interface board 
will also allow the Sinclair to communi- 
cate with a terminal as well, or with an 
RS-232 wired line printer. 

I am grateful to David Sommers for his 
article “Experiments in Memory and I/O 
Expansion” (SYNC 1:6). This was of con- 
siderable help to me in my experiment. 
For those who are interested in pushing: 
the usefulness of the Sinclair to extremes, 
an excellent book is Interfacing Micro- 
computers to the Real World by M. 
Sargent III and R. L. Shoemaker and 
published by Addison Wesley Publishing 
Company in the U.S.A. 


Theory of Serial Data Transmission 

Inside the Sinclair, or any other modern 
micro for that matter, the communication 
between components is via “TTL” 
(Transistor to Transistor Logic). This is 
essentially a 0 volt/5 volt current fluctu- 
ation, of extremely low power. Where the 
distance between components is mea- 
sured in inches and the number of parallel 
lines is immaterial, this method is per- 
fectly adequate. An example of TTL I/O 
is the Sinclair ZX Printer, which uses 5 of 
the 8 CPY data lines to operate and 
control the printer. 

This “convention” becomes unweildy 
when the distances involved grow, due to 
voltage attentuation through the wires, 
the number of lines, etc. The most gen- 
erally accepted alternative is “serially 
coded ASCII” (American Standard Code 
for Information Interchange). This is used 
between most computers which have ter- 
minal interfaces for low-speed telephone 
lines, and by the public data networks 
such as DATAPAC in Canada, and 
TYMNET in the U.S.A. 

This serial I/O involves breaking the 
data characters to be transmitted into 
individual bits, then shipping them down 
the line one bit at a time at a prede- 
termined rate of speed. This allows the 
use of only one wire, since the data is 
“turned sideways,” and the signals can 
then be amplified to allow greater dis- 
tances between the sending and receiving 
devices. 

This protocol requires that the sending 
and receiving parties must have agreed 
(electronically) on the transmission speed, 
which is known as the “BAUD” rate, or 
“Bits Per Second,” the number of bits 
which represent a full character, and the 
number of check or parity bits (if any) 
that will be included with each full data 


87 


Figure 1. 


+5V gnd clk 


o 
Qi 


Gd 
Ol 


g 
T 
K 

C 


A 


AN, 
/\ 
~ 


i. 
) UU 


ol 
ale 
S 
œ 
To) 


h 


M 


7e 3 
ra 
74 
Á 
RS232 25-pin connector S X 
pin# for modem/computer © 4 
1 EURAN y 
< Rx0 ‘hi 
I DSR 2o. 
octs Y 
9+5V 
| A oT 3 
ie 
3 Oorr 6 
S oe 
CIORTS 5 


character transmitted. Since it is difficult 
to change the computer at the other end, 
the user must know in advance what the 
receiving CPU expects and act 
accordingly. 

Serial data output can be accomplished 
in a variety of ways: the Sinclair uses this 
form to “SAVE” files on cassette and to 
“LOAD” them back into core again. In 
this case the serialization is accomplished 
by software, loading each data character 
into a register and then shifting the bits 
off the end. If the shifted bit was a “I”, a 
“one” sound is sent to the tape recorder; 
if the shifted bit was a “0”, a “zero” sound 
is generated. The reverse process listens 
to the sounds from the tape recorder, and 
gathers the data bits together into bytes. 


88 


Transmission Speed and Noise 

Transmitting data in this manner to 
other CPUs is perfectly feasible, but there 
are two problems. First, the programming 
required to match the transmission speed 
to the receiving CPU is extremely com- 
plex. This is where the major building 
block of this interface board comes into 
the picture. 

The “USART” (Universal Synchro- 
nous/Asynchronous Receiver Trans- 
mitter) is a sophisticated chip which solves 
all these problems for you. You merely 
tell it the BAUD rate, the parity settings, 
and the character format to send or 
receive, and it does all the work. It will 
serialize the data you present and send 
the data out at the correct time intervals. 


When it is receiving, it will reconstruct 
the data characters and pass them out to 
you, along with any indications of errors. 
Great stuff! 

Second, the problem of electronic 
“noise” on the line is addressed by the use 
of the “RS-232” interface chips. Instead 
of using the 0 to 5 volt TTL of the com- 
puter chips, the output and input to these 
chips is a negative and positive voltage: a 
“1” is -3 to -15 and a “0” 3 to 15 volts. 
Since the voltage is considerably higher, 
and the 0 and 1 value variations are con- 
siderably wider with a zero level crossing, 
there is much less possibility of inter- 
ference and a far greater range 
capability. 


SYNC Magazine 


ZX80/81 USER Beat the Program 
Loading Blues with a 
DATA CONDITIONER II 


USE THE DATA CONDITIONER II to; 


e Eliminate cable changing 

e Allow accurate volume control setting for 
a perfect load every time. 

e Allow for easy cueing of tapes 

e Allow you to use the remote feature on 
your tape deck. 


Order TODAY by phone using Visa, American 


Express, Master Charge, 24 hour toll FREE 
number 1-800-367-5134 


order part number CSL-DS $49.95 


address: Communication System 
Laboratories 
94-165 Leokane Street 
Waipahu, HI 96797 


-allow 3 weeks for delivery 
add $3.50 for shipping & handling (air parcel 
post) 
add $5.00 UPS Blue Label 


EZRA GROUP II 
EZRA GROUP II 


WE CHALLENGE THE SOFTWARE COMPANIES 
TO LOWER THEIR PRICES! 


Biorhythms 8K ROM/1K&up....c..ee1. 00 
Graphics Billboard 8/lup.......1.00 
Borse Race B/LUD. .s.evsses esses]. 00 
SPINNER TM(like Rubik's)8/l6...2.00 
Improved SLOW PAUSE......cceeeeeele 00 
Linear Regression 8/lup........e2.00 
CHAR. Generator Demos 8/lup....2.95 
SPLIT-A-STACK TM SLOW/lup......-2.00 
CHEWTER TM(like PACMN) SLOW/lup. 2.95 
ISLAND SQUARES TM SLOW/2up.....2.00 
Random MUSIC!SLOW/lup......+eee2-00 
BASIC Keyword Demos 8/1l....from .50 


ORDER,SASE,reSASE gets you GOO- 
DIES Catalog and cREE Program 


EZRA GROUP II 
EZRA GROUP II 


POB 5222 San Diego,California 92105 


EZRA GROUP II 
EZRA GROUP II 


LOW LOW LOW LOW LOW LOW LOW LOW LOW 
PRICES! 
Biorhythms 8K ROM/lK&up........l.ØØ 
Graphics Billboard 8/lup.......1.00 
TAP WRITER TM(Handicap Aid) 8/1.FREE 
Horse’ Race: B/ LUD... ves oss vic eee eee 
SPINNER TM(like Rubik's) 8/16...2.690 
Improved SLOW PAUSE....sccecncvel 00 
Linear Regression 8/lup........2.00 
CHAR. Generator Demos 8/lup....2.95 
Plotting Work Sheet 8/1.......+3-95 
Plotting Work Sheet SLOW/16....6.95 
SPLIT-~A-STACK TM STOW/lup......2.00 
CHEWTER TM(1like PACMN)SLOW/16..2.95 
ISLAND SQUARES TM SLOW/2up.....2.00 
Random MUSIC!SLOW/lup..........2.00 
BASIC Keyword Demos 8/l....from .5Ø 
ORDER,SASE,reSASE gets you GOO- 
DIES Catalog and !!FREE!! Program 


EZRA GROUP II 
EZRA GROUP II 


POB 5222 San Diego,California 92105 


ZX81 OWNERS 


SPECIALISED PRODUCTS 
MODULAR EASY TO USE 
FOR HOME/INDUSTRY & 
EDUCATION 


TE10 INPUT/ OUTPUT PORT — Easy to use. Fits between ZX & RAM 
PACK/PRINTER (if required). No skill required to connect. Can be used for 
such things as:— motor control; sound/music generators, connection to 
printers/ floppy discs/light pens/other computers, temperature monitoring, 
square wave generating, control of rotating aerials, even train sets etc. Port has 
16 programmable 1/0 lines and may be used without any electronics knowledge 
to connect other add-ons. Motherboard required ONLY when two or more add- 
ons are used at any one time. 
FULLY ASSEMBLED $29.50 
KIT (WITHOUT CASE) $24.50 
TE12 4 CHANNEL RELAY BOX — To suit Port Contact rating: — 240v 
AC/1,5A — 24V DC or 110V AC/3A. Lp to 4 units i.e. 16 relays can be 
operated $24.50 
TE15 8WAY TRANSISTOR DRIVER — 
TE17 8WAY SWITCH UNIT (EDUCATIONAL) — 
TE18 8WAY INDICATOR UNIT (EDUCATIONAL) — A 
TE20 JOYSTICK & FREE GAME — (2 Joysticks may be connected via 
Motherboard.) $21.50 
TE30 MOTHERBOARD — Allows multiples combinations of add-ons — up 
to 16 1/0 lines may be used — $26.50 
NOTE: TE 12/15/18 Require 9V. 300mA 
Calculator Type Power Supply 
23 + 23 WAY ZX Edge Con $5.00 
16 WAY SINGLE SIDED EDGE CON $3.50 EXTENDED PIO NOTES $2.50 
PRICES INCLUDE POSTAGE 


Receipts always provided: — Delivery normally ex-stock. ADD 
Full instructions and examples with all products. 
Send for catalog $1.00. Mastercharge/Visa accepted. 

SEND S.A.E. FOR CATALOGUE. TELEPHONE ORDERS 
ACCEPTED. 


DISTRIBUTOR INQUIRIES INVITED 


THURNALL (ELECTRONICS) ENG. 
DEPT Y, 95 LIVERPOOL ROAD. 
CADISHEAD, MANCHESTER 
M30-5BG ENGLAND 
TEL: 061-775-4461 (24 hr) 


| VISA | 


The RS-232 standard also describes a 
special 25 pin “D” connector, with all 25 
pins accounted for. In actual practice, 
only 4 pins are really necessary for ter- 
minal use, one each for data input and 
output, and two grounds. This convention 
also assigns a male connector (DB25-P) 
to the terminal (the Sinclair in this case), 
and a female connector (DB25-S) for the 
modem. 


Circuit Overview 

The heart of this circuit is the USART, 
in this case, the INTEL 8251. By tying 
this IC to the address decoding scheme 
provided by David Sommers, together 
with a clock dividing circuit, and an RS- 
232 transmit and receive pair, we have a 
workable interface board. I also followed 
his directions and added a few extra mem- 
ory chips to buffer the incoming mes- 
sages. This added another $30 to the cost 
of the board. Debugging the circuit 
took a fair bit of trial and error. The main 
problem was in the timing circuit. 

The data clocking on the board is 
derived from the 3.25 MHz CPU clock 
used by the ZX81. (MegaHerz where 1 
MHz 1/1,000 sec.) The circuit described 
in this article is wired to provide a 300 
BAUD data rate, which is more or less 
standard for voice-grade telephone line 
communications and just about the max- 


imum that can be handled by a program 
written in Sinclair Basic. I have experi- 
mented with the timing circuit and have 
run the BAUD rate up to 9,600 with no 
problems, but at that speed the control 
program has to be written in machine 
code to keep up with the incoming data. 

Since the I/O circuit board is memory 
mapped, you can write your terminal 
programs in Basic; no machine language 
code is necessary unless you really want 
to get fancy. Initializing/resetting the 
USART is done by merely POKEing the 
required values to an address in core: 
sending a data byte by POKEing the 
ASCII value into another core address, 
and reading a byte by PEEKing at the 
same core location. These addresses are 
determined by the wiring in the circuit 
board. In this example they are locations 
21508 for the 8251 control port and 22532 
for the data port. Actually they will 
respond to any address up to 1K above 
these respective addresses. This poses no 
problem unless you have an expansion 
RAM pack. The results of running with 
the RAM pack attached will be unpre- 
dictable. 

By using the CPU I/O control lines for 
chip selecting, the circuit can be I/O 
mapped instead of memory mapped. In 
this case IN and OUT machine code 
instructions will be required to operate 


-81 SPACE RAIDERS™ 


EWO BEEP EROS MOR TESA PYG 


the circuit. This will complicate the pro- 
gramming required to use it. 


Circuit Components 

Let’s look at the major components 
shown in the circuit wiring diagram 
(Figure 1) with a short discussion of the 
purpose of each. The IC number from 
the diagram is followed by the IC type in 
parentheses. The actual manufacturer of 
the IC is immaterial, with the exception 
of the 8251 USART which is only made 
by Intel. All of the ICs in the circuit are 
readily available; most of them are stock- 
ed by Radio Shack. 

a. IC1 (74LS138) 

IC1 forms the address decoding circuit, 
with output control lines shown as Chip 
Select 1 through 7. I used CS6 for the 
control port and CS7 for the data port on- 
the USART. CS1 through 5 can be used 
for 5K of onboard memory. Adding 2 
more 74LS138s as per Sommer’s article 
can increase the available address range 
up to 32K if required. 

The inputs shown on the wiring dia- 
gram for this IC (A10-14, MREQ and 
RAMCS) are taken straight from the back 
of the CPU. 

b. IC2 (74LS08) 

IC2 is used for combining control lines. 

c. IC3 (74LS04) 

IC3 is required for inverting the signal 


WANTED... 


the non-exclusive rights to 


3.292 E 05 6GE= 1.297 E 03 


6:275 E 05> X= «8.222: E05 
1O Er 0A YSS E705 
4.780 E 06 Z= 5.692 E 06 


manufacture and sell your 
Timex/Sinclair educational and 
entertainment programs. 


90 


The federation has 
declared a state of all-out war, 


` leaving you in charge of the 


Starship Defiant: newest and 
most advanced spacecraft 
known to man. 

Soon, your experienced 
guidance will bring you within 
range of the enemy convoy. 
Hundreds of stars flash by as 
you check the status of your 
Laser, Shields, Masking 
Navigation, Scanning, and’ 
Computation Equipment. The 
energy drain is tremendous, as 
the target distance indicator 
ticks slowly downward .. . 

As you come into range 
you set your cross-hairs on the 
nearest ship. Fire Laser!!! 
Switch to Aft view!!! Evasive 
Maneuvers!!! Space explodes 
all around you as the first 
enemy ship disintegrates and 


the remainder lock onto your 
position... 

High speed graphics and 
custom ML math package 
provide the real time, accurate 
simulation of the above space 
navigation and battle scenario. 
You've never seen this kind of 
performance on your ZX81 
before! 

Only $19.95 for cassette, 
keyboard overlay, and manual 
(shipping included). (Utah 
residents add $.95 tax). 


NIRAD 


ELECTRONICS 


959 East 460 South 


Provo, UT 84601 


We will pay 


CASH 


DALLAS DEVELOPMENT SYSTEMS 


7410 Stillwater 
Garland, Texas 75042 
(214) 238-1776 


SYNC Magazine 


from the CPU clock. To minimize noise 
problems with this IC, tie all unused in- 
puts high (i.e., connect pins 9, 11, and 13 
to pin 14 which is 5 volts). 

d. IC4 (74LS73) 

e. ICS and IC6 (74LS90) 

ICs 4, 5, and 6 are cascaded together to 
produce the data clock required by IC7 
(the 8251). The CPU clock is inverted by 
a 74LS04, then divided by 7 by ICS, then 
by 3 by IC4, and by 8 again by IC6. Using 
this scheme, the USART data clock can 
be tapped off either pin 11 of IC5 to give 
BAUD rates of 9,600 and 2,400, or pin 8 
of IC6 (as shown) to give BAUD rates of 
1,200 and 300. (The dual BAUD rate is 
program controllable). 

The CPU clock (inverted) is tied 
straight on to the clock input for the 
USART. Although the specs for this chip 
specify a maximum clock rate of 2MHz, 
it works quite happily at the higher clock 
frequency. 

f. IC7 (8251 USART) 

This is the parallel to serial data I/O 
handling module. 

g. IC8 (1488) 

This is the RS-232 transmitter. 

h. IC9 (1489) 

This is the RS-232 receiver. 

IC8 and IC9 are an RS-232 transmitter/ 
receiver pair which are wired to the I/O 
pins of the 8251 to provide the actual 


interface to the outside world. The 1488 
requires a +/-voltage set higher than the 
TTL 5 volts used by the rest, so be very 
careful about the wiring on this one. 
Although the RS-232 specs call for +/-15 
volts, anything between +7 to +15, and 
-2.5 to -15 will work. My prototype board 
uses the 9 volt CPU power supply for the 
positive voltage and a square 9 volt bat- 
tery for the negative. It is still working 
with that configuration. One battery lasts 
for about a month of rather heavy use. 

Note that in Figure 1 the power supply 
pins are omitted for the 1488 and 1489. 
The 1489 power supply is 5 volts to pin 
14. Both of these ICs require pin 7 to be 
connected to ground. The 1488 RS-232 
higher voltage range is connected with 
+7 to +15 volts on pin 14, and -2.5 to -15 
volts on pin 1. 

i. 1 DB25-P connector 

This is used to attach the Sinclair to 
your modem. 

J. 1 socket of 1/10 inch spacing. 

This is to fit the back-plane of the 
Sinclair. 

k. A wire-tapping circuit board, IC 
socket, etc. 

These are used as required. 


Construction Techniques 
For the actual process of wiring the 
board, I strongly recommend the use of a 


wire-wrapping tool. After having had a 
bit of experience attempting to solder 
together IC circuits, my initial reaction to 
using a wire-wrapping was, “Where has 
this been all my life?” 

Remember also that the 8251 is a 
CMOS chip and that it takes very un- 
kindly to any type of static electricity. 
The safest way to handle it is to carefully 
avoid touching the pins with anything. 
Keep it in conductive foam or stuck into 
aluminum foil when out of the board, and 
jam aluminum foil over the wire-wrap pins 
on the back of the IC socket when insert- 
ing the chip into the socket. 

I have attempted to use what appears 
to be the standard form of circuit diagram 
in Figure 1, but my personal method is to 
draw a picture of the IC from the bottom 
(the direction you will be looking at the 
socket from when wiring it), with the pin 
numbers and where they will be wired to 
in the finished product. 


Notes on Figure 1 

A few notes on Figure 1 will be helpful 
at this point. 

1) The connections indicated as “CPU” 
on the diagram are connected to the plug 
you will have made to fit the back the 
CPU. None of these ICs require 
buffering. 

2) On IC7 (the USART), pins 14, 15, 


ZX81 PERSONAL BANKING SYSTEM 


WHAT ARE YOU WAITING FOR? 


INTRODUCING 


Z°-XE, 


A SOFTWARE BASED CASSETTE TAPE STORAGE SYSTEM FOR 
ZX8] AND TS1000 COMPUTERS 


æ 6 TO 10 TIMES FASTER than Sinclair LOAD and SAVE routines 


= FAST ARRAY VARIABLE loading and saving independent of program 


æ FAST BINARY DATA loading and saving anywhere in RAM 


= USER FRIENDLY PROMPTING in either immediate or program modes 


= NO HARDWARE CHANGES. Period. Works with your existing system 


= LESS THAN 2K OF RAM is occupied by Z-XLR8, residing between 
16-18K,25-27K,or 30-32K for cassette version. EPROM version 
resides between 14-16K. 


Z-XLR8 CASSETTE $9.50 Z-XLR8 EPROM $19.50 


ALSO 


256 X 192 BIT MAPPED HI RES GRAPHICS FOR ZX81 & TS 1000 
COMPLETE PLANS $5.00 


ADVANCED INTERFACE DESIGNS 
P.O. BOX 1350 
STATE COLLEGE, PA 16801 


In USA Please Include $1.50 for Prompt Handling and Shipping 
Outside USA Include $3.00 
PA Residents Add 6% Sales Tax 


November/December 1982 


WITH LOAD/SAVE DATAFILES 
AT DOUBLE SPEED 


Load the prog am in the normal way—enter, amend or delete your 
transactions (ZX81 will automatically scan standing order file and post 
any items due)—save the file of data onto cassette in 45 seconds—load 
a different datafile into the same program, also in 45 seconds—enter 
items, etc.—save datafile only onto cassette (45 seconds)—repeat 
operation for any number of accounts. 


Absolutely no need to save program, as all information is held in data- 
files. Very easy to use—unlike other bank accounts. Requires a mini- 
mum of 16K RAM—can use much more (no modification required). 

On Demonstration at the next ZX Micro Fair. 

The Personal Banking System also includes the following features— 
Full page detailed Bank Account, dual display (or printout). 
Automatic generation of standing orders on due dates. 

Validation of all entries. 

Correct any item previously entered. (Single/Multiple field correc- 
tion) 

Enter an item (previously omitted) in the correct date order of the 
account. 

Single key operation. Utilises a M/C keyboard scan. 

Search for any item or items by cheque number, description or 
amount—display (and printout if required) with totals. 
Continuous display of statement extract, continually updated dur- 
ing input of entry. 

File of standing order details can be displayed, printed, added to, 
cancelled and amended. 

Detailed User Manual. 

After sales maintenance. 

Send £9.95 ($20) incl. for cassette and users manual to J.P. Gibbons 

A.I.B., 14 Avalon Road, Orpington, Kent, BR6 9AX, England. (Send 

large S.A.E. for details). 

There are only two suppliers of supported ZX81 software, this is one of 

them. Be sure to include your name and address. 

Bank Reconciliation Module—a separate program on 
£6.50 cassette that utilises data supplied by the main program 
($13.00) (S.A.E. for full details). 

The only expandable system for the ZX81. 

The Personal Banking System is also available from Sinclair Place, PO 

Box, 2288 Redmond Wa. 98052 (see their ad), full maintenance still 

available. 


16, 18, and 21 are not required and are 
not shown on the diagram. Just leave them 
unconnected. 

3) IC3 (the 74LS04) should have all 
unused inputs tied high to prevent noise 
problems. This means connect pins 5, 9, 
11, and 13 to the +5 volt source (pin 14). 

4) The unused Chip Select lines on IC2 
(the 74LS08) may be left unconnected. 

5) ICs 2 and 3, sections of which are 
scattered throughout the wiring diagram, 
both require that pin 14 be +5 volts and 
pin 7 be ground. 

6) ICs 4, 5, and 6 also have several pins 
unaccounted for in the diagram. Again, 
leave these pins unconnected. 

7) The pin numbers shown beside ICs 8 
and 9 are for an RS-232 male connector, 
meaning the Sinclair is wired as a term- 
inal. If IC9 pins 4 and 10 are tied high 
with the resistors as shown, they need not 
be wired to the RS-232 connector and 
vice-versa. 

8) Pins 1 and 7 of the RS-232 connector 
must be connected to the CPU ground to 
complete the circuit. 

9) Interesting and useful LED indicators 
can be added to indicate transmit and 
receive activity. Use a very small LED, 
with a series resistor (e.g., 2.2K ohms) 
connected to ground. Wire one of the 
LEDs to pin 11 of IC 8, the other to pin 1 
of IC9. 


Z-80 
SOFTWARE 
NOTEBOOK 


10) There is the problem of a plug with 
which to attach the circuit board to the 
back-plane of the ZX80/81. The normal 
procedure is to obtain a plug of 1/10 inch 
spacing and cut it to fit. It would be nice 
to be able to purchase the correct unit 
over the counter. There is a very pretty 
pig-tail pass-through version on the ZX81 
printer, but it cannot be bought sep- 
arately, A diagram of the pin-outs of the 
back connector is found in the Sinclair 
manual. 

11) Either purchase a general IC data 
book or obtain a copy of the data specs 
for the ICs you buy. Radio Shack prints 
the data specs on the IC package. Other 
stores will probably supply a copy of the 
specs on request. This can eliminate many 
problems, especially misprints in maga- 
zine articles. I would also recommend 
two Radio Shack books: Engineer's Note- 
book II, stock number 276-5002, and the 
Archer Semi-conductor Reference Guide, 
stock number 276-4005. 

12) There appear to be no problems 
with the calculator power supply which 
comes with the ZX81. I added an addit- 
ional 8251 circuit plus an extra 7K of 
(Static) RAM onto my original board, and 
the entire system still works perfectly well 
with the original 650 MW power supply. 


Building and Testing the Interface Board 

The actual construction of the board 
depends on your experience in such pro- 
jects. I am a rank amateur so the tech- 
niques I used are probably not particular- 
ly professional. 

The physical layout of the components 
on the board is a matter of your personal 
aesthetics, but I would recommend keep- 
ing the components which form each sub- 
circuit grouped together on the board, 
e.g. the clocking circuit, the address select 
circuit, the RS-232 components, or extra 
memory. Try various layouts by moving 
the IC sockets around on the board before 
wiring them to see what the end result 
will look like. 

The steps I went through in designing 
and building the interface are roughly as 
follows: 

1) Cut and adapt a plug to fit the back- 
plane of the Sinclair. This step depends 
on the plug you managed to scrounge 
and on what you wnat the finished 
product to look like. When you cut it, 
remember to leave “ears” on either side 
so that you can get the plug off the com- 
puter again without breaking anything. 
The plug I found was a wire-wrap type. I 
pushed the pins through the IC spaced 
perf board from Radio Shack (stock num- 


DON’T LET GLITCHES, SPIKES OR POWER 
FAILURE WIPE OUT YOUR RAM PROGRAM 
AND DATA. AVOID SYSTEM CRASHES WITH 


A must for anyone wishing to program the ZX-80/81 or TS 
1000 in machine language! Contains over 25 useful tech- 
niques, utilities and programs that will turn even 1K systems 
into computing giants. | 


SYNC - SAVER 


RAM BACKUP POWER FOR SINCLAIR 


` Sorting, timing loops, searches, block transfers and many 
more are included. The complete Z-80 instruction set is fully 
explained and listed. $7.95 pp. 


The Sync-Saver is a battery backup that protects your 
RAM against power interruptions. Simple to use, well 
engineered, it comes in 2 forms: 


SVR-1. A rechargeable Nickel-Cadmium battery 
(included) system to maintain 1K to 16K RAM in the 
ZX80/ZX81/TIMEX for 1 hour. Batteries recharged 
automatically. Complete - ready to use. 


BASIC 
HANDYMAN 


BASIC sub routine that will streamline your program and save 
your valuable time. Puts the experience of advanced pro- 
grammers at your fingertips! SVR-2. An economical alkaline battery (not in- 
cluded) system to maintain ZX80/ZX81/TIMEX with 1K 
Sorting, searching, data files, display file handling, screen- or 2K RAM for 1 hour. No battery recharge. 
save, graphs and special functions galore are given and com- 


pletely explained. $6.95 pp. 


Both systems feature added surge/transient 
suppression, ON-OFF switch to reset or turn off com- 
puter, and DC ON pilot light. 


FREE TITLE CENTERING ROUTINE WITH 
ORDER 


Z WARE 
P.O. BOX 111 
ALBANY KTY 42602 


ORDER NOW FOR CHRISTMAS 


SVR-1 $49.00 SVR-2 $17.50 
Prices include postage and handling in U.S. 
Foreign orders add $2.00 


Send check or money order to: 


LUXTRON Inc. 
241 Winter St., Haverhill, Mass 01830 


92 SYNC Magazine 


ber 2276-1396). I ended up with a great 
board standing up on the back of the Sin- 
clair. This looked fragile and ugly. A 
better idea would be to use ribbon cable 
from the computer plug to another, more 
standard plug and plug-in type wiring 
board. This also would allow boxing the 
interface board. 

2) Check all the connections with the 
ICs out of their sockets with a multimeter 
or continuity tester to eliminate shorts or 
crossed connections. 

3) Next I wired the address select chip 
and a memory chip onto the board. Only 
two ICs are required plus a 7441S08. The 
wiring is simple, and the results are easily 
verified. (Refer to the paragraph on add- 
ing extra memory.) The wire-wrapping 
tool simplified both the wiring process 
and the subsequent unwiring of mistakes. 
If adding the memory is successful, you 
will have given yourself some extra mem- 
ory to play with and gained some good 
experience in wiring techniques. 

Remember that on the wiring diagrams 
the IC pins are numbered looking down 
from the top whereas the wiring process 
is performed from underneath. Try 
writing the pin numbers beside a few of 
the socket pins on the bottom of the perf 
board so that you do not get confused 
when you are looking at it. 


Remember also to check the wiring 
before you apply the power! After the 
fact diagnosis, by observing which com- 
ponents are smoking, is unprofessional. 

4) Once you have given yourself a 
morale boost by the memory addition, 
you will be considerably more enthusiastic 
about approaching the pile of ICs re- 
quired for the actual I/O circuitry. The 
order of the wiring probably does not 
make much difference because without 
expensive equipment the circuits cannot 
be tested anyway. I proceeded with the 
clock circuit, then the 8251, and the RS- 
232 ICs, in that order. 

5) The 9 volt power supply from the 
Sinclair is perfectly adequate to power 
the 1488 (pin 14). Connect pin 1 of the 
1488 to the negative pole on a square 9 
volt battery. Connect the positive pole of 
the battery to the common ground (pin 
7). You can achieve this same effect with 
any type of power supply of similar 
voltage. 

6) After all the sockets are in place, 
check the wiring very carefully before 
plugging in the ICs and applying the 
power. z 

7) Testing the completed circuit board 
should be as simple as attaching a modem 
and trying out your software. If it does 
not work, your only recourse is to pull 


out all the ICs and go over the wiring 
again very carefully. The only problems I 
encountered (other than trial-and-error 
mistakes during the circuit design stage) 
were directly attributable to mixing the 
pin numbers when wiring the com- 
ponents. 

8) The address select circuit can be 
tested by changing the select lines on 
your memory chips, then POKEing and 
PEEKing at the new addresses. Note that 
the power-up sequence of the Sinclair 
will not accept the RAM at other than 
contiguous addresses, but the POKE and 
PEEK instructions will function properly. 

9) The actual I/O circuit is much easier 
to test if you can borrow an ASCII ter- 
minal. With the terminal you have much 
more control over what is going in and 
out of the circuit. You can send and 
receive one character at a time. Testing 
with a modem to a remote computer gets 
a bit tricky because of the longer mes- 
sages which will be sent to you. Of course, 
you can always get together with a friend 
with a Sinclair, build two interface boards, 
and hook them together for testing. 

10) When developing the software to 
drive this device, start off with a very 
simple program in Basic. As you send or | 
receive a character or string, use the 
PEEK command to display the data in 
memory and the contents of the USART 


BARRICADE: HIGH SPEED ACTION GAME - $12.95 


"BREAKOUT" for the ZX81! Break through the 5-wall 
Barricade with the high-speed ball and keyboard 
controlled paddle! Trap the ball among the walls 
Select from 
96 options (8 speeds, 4 paddle sizes, and 3 
ball-angle limits) to challenge both expert and 
beginner. 3 scores with the best of each saved to 
100% machine 
language, so it's fast! 8K/16K. Available now. 


and watch it destroy the 100 blocks! 


be challenged by other players. 


ZXM-1: ZX81 MACHINE LANGUAGE MONITOR - $19.95 


THE BEST VALUE NEXT TO YOUR COMPUTER 
IS SUPPORTED SOFTWARE ON CASSETTE 


ZX81 MX-PAC Ts1000 


18 useful/fun programs on CASSETTE 
make the small memory act like much 
more-for the whole family..games.. 
files..lists..SUPER draw-on-tv,se- 
curity codes..3-D motion and growth 


Based on our popular RSM monitors for the TRS-80, 
ZXM-1 provides over 15 commands with which you can 
interact directly with the Z-80 processor in your 
ZX81. You will have direct access to all memory 
Locations and input/output ports. You may examine 


your Basic ROM's, test RAM, enter and execute 
‘machine language programs, and much more! 


A symbolic dump command disassembles object code 
in memory and displays it as Zilog standard Z-80 
mnemonics! ALL relative addresses are computed 
and displayed. This is a great aid to 
understanding the operation of your ZX81 software. 


Memory may be displayed in HEX, ASCII, or ZX81 
characters. You can SEARCH, EDIT, MOVE, EXCHANGE, 
VERIFY, FILL, ZERO or TEST memory. Pause, single 
step or continuous dumps with memory display 
commands. 16K only. Available Dec 15. 


MALL or SMALL SYSTEM SOFTWARE 
ARE Sra Post Office Box 366 
a-m Newbury Park CA 91320 

YSTEM Wa Phone: (805) 523-7295 


November/December 1982 


simulations..bar graphs..financial 
helpers (loans,tax)+more+all BASIC 
..all explained in Printout 1l.. 


an 


1 extraordinary BOOK, Printout 1 


shows how the 18 work and GROW and 


-GROW.-.many ideas..even more line- 


numbered add-ons for 2K and 16K 
power-multilevel files,lists,games.. 
a keyboard "light-pen" that makes 
draw-on-tv a powerful designing tool- 
menu-driven programs-financ'l planner 
..a complete recipe file (16K)..step 
by-step build a checking account (16K) 
-"unbreakable" codes and a challenge 
THE GREATEST RANGE AND DEPTH OF ANY 
SOFTWARE is only $24.95..Act today! 
Send check or MO to ROBILL PRODUCTS 
555 PARK AVE.,PATERSON,NJ 07504 ALL 
ORDERS processed fifo. Please add 
$2.75 p/h (lst class)NJ res.add 5% 


control port to familiarize yourself with 
the format of the messages and control 
flags. By starting off simple, you can then 
proceed to build more complex programs. 


Programming Your Sinclair Terminal 

The general steps required to transmit 
and receive data may be related to Figure 
2, the sample program listing. The actual 
steps may vary depending on the specific 
circumstances. For instance, if you are 
communicating with another Sinclair, the 
data do not have to be translated into 
ASCII and back to the Sinclair Character 
set. 


Receiving Data 

1) Initialize the control port to receive. 

2) Check the Status Read flags for 
RxRDY (a character has been received). 

3) When a character has been received, 
move it from the data port to memory. 

4) Loop through steps 2) and 3) until a 
message end character are received. The 
message end character will depend on 
whatever protocol has been decided 
between the sender and receiver. Refer 
to Figure 8 for the standard ASCII control 
characters and their meanings. 

5) When the message is complete, trans- 
late the received ASCII characters to the 
Sinclair character set and display the 
result. 


&a(sO66LERS 


PUCKMAN FOR 16K ZX81 


BEAT THAT HIGH SCORE! 
GOBBLE THOSE DOTS 
BEFORE THOSE MEANIES 
GOBBLE YOU! YOUR ONLY 
AIDES ARE FOUR “POWER 
PILLS” WHICH MAKE THE 


Figure 2. 
Es SAMPLE PROGRAM BE 


Ss pes, EM mas SET UP LABELS MEE 
is 
Cet D-C+1024 


oe 8 REM fae INIT TO RECEIVE HES 
100 REN BIEB T 

11@ POKE AN 

120 POKE .2@ 

295 R N READ ROUTINE MES 
210 C=133 THEN GOTO 216 
215 SAVE DATA IN Xs MEE 
220 X&4+CHR$ (PE 

240 K D=13 THEN GOTO 3e¢ 
305 TRANSLATE MSG MEE 
320 FOR P=i TO LEN X 

330 LET Y=CODE (X$(P TO P3}} 

340 L Y=Y-27 
S5@ IF Y:31 THEN LET Y=Y+7 
360 ze Y<28 THEN LET Y= 

365 TN PAEH pa ur EACH CHAR HE 
370 PRIN CHRÈ Yi 

380 

338 PRIN 

405 R A N GET MSG TO SEND Mm 


INPUT XE 
CL 


420 
Sas INIT TO SEND 
3186 POKE Esi _ 


aoe 


530 49 

5a5 EG SEND MESSAGE WEE 
610 G=1 TO LEN X 

62e $I TO 0) 

530 E È 

635 TRANSLATE MSG 
640 THEN LET 


E 
66a Yéz“ “ THEN LET v=3 
635 REM Eme SEND EACH CHAR 
700 IF PEEK Cc>i33 THEN GOTO 7G 


710 POKE D.Y 
apeti Q 


EM pa SEND END OF TEXT Ee 
PEEK (C¢2153 THEN GOTO SẸ 


sae Te 


POKE 
WA Now READ AGAIN BE 
Goro 


MEANIES EDIBLE. BUT 


NOT FOR LONG! 


@ MACHINE CODED FOR FAST ACTION 
@ EXTRA “GOBBLER” FOR 10,000 POINTS 


@ON SCREEN SCORING 


@ HIGH SCORE WITH “ENTER NAME” FACILITY 


@UP TO 4 PLAYERS 


AN ANNOYINGLY FRUSTRATING GAME!FOR ONLY $14.95 


FOR 16K 
ZX81 


STAY ALIVE AS LONG AS POSSIBLE IN OPEN SPACE FILLED WITH FLYING ROCKS. 
SCORE BY SHOOTING THEM — WHICH ALSO CAUSES THEM TO BREAK INTO LOTS 


G/XS1 elkO 


OF LITTLE BITS AND MAKES LIFE EVEN WORSE! 


® MACHINE CODED FOR 
FAST ACTION 

® ON SCREEN SCORING 

@ HIGH SCORE WITH 
‘ENTER NAME’ FACILITY 

@uP TO 4 PLAYERS 


(NOT AS EASY AS IT 
SOUNDS!) 

@® SHIP MOVES JUST LIKE 
ARCADE VERSION 
ROTATE LEFT/ROTATE 
RIGHT/THRUST 


@EXTRA SHIP FOR 1,000 PTS @FIRESINALL8 
@ INCREASING NUMBER 


@® THREE ASTEROID SIZES 
@'NASTY’ ALIEN SPACE- 


Sending Data 

1) Initialize the control port to trans- 
mit. 

2) Input a line (from the Sinclair). 

3) Translate each character of the mes- 
sage to ASCII. 

4) Check the Status Read flags for 
transmitter empty (TxMT). 

5) When the transmiter is empty, POKE 
the translated character into the data 
port. 

6) Send whatever end of message char- 
acters are required by the receiver (LF, 
ETX, CR, etc.; refer to Figure 8) onto the 
translated message. Perform steps 4) and 
5) for each control character. 

This can just barely be done on a 1K 
machine. Since putting additional RAM 
on this board is a very minor matter, 
there is no reason to stay with a 1K 
machine anyway. 

Figure 2 contains a small Basic program 
whose only value in life is to demonstrate 
the use of this circuit. It will receive one 
line of data, then turn around and send 
one line of data, and on, and on. The 
messages are assumed to be under 80 
characters in length and to consist of 
nothing but numeric or alphabetic char- 
acters. The program will work in 1K if all 
the REM statements are removed and 
the messages are kept under 40 characters 
in length. 


OMNI TEMPLATE 
FOR ZX-80 and ZX-81 


WHAT IS OMNI TEMPLATE? 

It isa template program for generating other programs. 
While developing programs, our staff needed a collec- 
tion of general utilities to avoid the burden of repeating 
the same routines over and over. This gave birth to 
OMNI TEMPLATE. We found it so effective that we 
decided to share it with others. 


WHY SHOULD YOU HAVE IT? 

It is a great training tool. It helps you.to develop a habit 
of writing professional-looking programs rather than 
rag-tag patch works. It makes programming fun. 


WHAT DO YOU GET? 


al programs: 


You will receive a cassette tape of OMNI TEMPLATE 
Program prerecorded and ready to use. Three addition- 
RACING, 
POINTS, which were developed by OMNI TEMPLATE, 
are on the tape in addition to OMNI TEMPLATE. A 


INDEX-CARDS and FIT- 


complete listing of OMNI TEMPLATE and a well- 


DIRECTIONS 


$9.50, 


OF ASTEROIDS It is 


SHIP (FIRES BACK!) 


THIS GAME IS JUST AS BAD!- AND ONLY $14.95 


AN OFFER FOR REAL MASOCHISTS-BOTH TAPES FOR $24.95 


MAIL ORDER ONLY-PLEASE MAKE CHEQUE/PO PAYABLE TO 


THE SOFTWARE FARM DEPT C 
IZ craico FARM, BOTANY BAY, TINTERN, awer AF 
ENGLAND 


94 


Omni Technology 
P.O. Box 10630 
Pittsburgh, Pa 15235 


PA resident please add 57 cents for PA sales tax. 


documented manual describing how to use OMNI 
TEMPLATE is included. 


HOW DO YOU GET OMNI TEMPLATE? 
if ordered before December 1, 
becomes $14.50 after that. Please add $1.00 for shipping 
and handling. Send money order or check to: 


1982. It 


SYNC Magazine 


Mode Set for the USART Control Port 

To initialize the USART, first send it 
an internal reset. This must be followed 
by a mode set, then the required control 
command. All of these steps are accom- 
plished by POKEing the correct values 
into the address at which the control port 
has been wired. 

The values of the various bits in the 
Mode Instruction are shown in Figure 3. 
Take the decimal value given for each bit 
to be on in the instruction, and add them 
together to obtain the value to be POKEd 
into the Control Port address. The Basic 
code is from the sample program in Figure 
2. 

For example, 

10 LET C=21508 

(address of USART control port) 

20 LET D=C+ 1024 

(address of USART data port) 
30 LET M=123 

(mode setting) 

When using this circuit connected to a 
telephone modem dialed to the DATA- 
PAC network, the mode setting is 123d, 
or 7Bh. Referring to Figure 3, this trans- 
lates to: 

1)1 stop bit (S2=0,S1=1:bit value=64). 

2) Even Parity (EP=1 : bit value=32). 

3) Parity checking Enabled (PEN=1 : 
bit value= 16). 


Now you can organize your copies of 


| SHELF CONSCIOUS? 


SYNC 


4) 7 bits/character (L2=1,L1=0 ; bit 
value=8). 

5) BAUD rate =300, 1/64 data clock 
rate (B2=1,Bi=1 : bit value=3). 

Adding these bit values together we 
get: 64+32+16+8+3=123. 


~ USART Command Instructions 


Command Instructions are used to 
specify to the USART what operations 
you require that it perform. In this circuit, 
we are mainly interested in READ and 
Write DATA, and can ignore the device 
control commands. 


100 POKE C,64 force an internal 
reset of USART 

110 POKE C,M reset mode setting 
see above 

120 POKE C,20 initialize for 
receiving 


The command value 20 above is derived 
from Figure 4 as: 

1) Error Reset (ER = 1 : bit value 16) 

2) Receive ENable (RxEN = 1 : bit value 
4) 

Adding these bit values together we get: 


16 + 4 = 20. Or, 

510 POKE C,64 force an internal 
reset of USART 

520 POKEC,M reset mode setting 
see above 

530 POKE C,49 initialize for 
transmission 


The command value 49 above is again 
derived from Figure 4 as: 
1) Ready to send (RTS = 1 : bit value 32) 
2) Error Reset (ER = 1 : bit value 16) 
3) Transmit ENable (TxEN = 1 : bit value 
1) 
Adding these bit values together we get: 
32 + 16+ 1 = 49. 


Checking the USART Status Read Flags 
The Status Read Flags on the USART 
are set by that unit depending on what 
you have instructed it to do by the last 
command sent to the Control Port. These 
flags are presented at the Control Port 
after a data character has been read, ora 
character transmitted. The problems 
occur here because the Sinclair Basic 
language is limited to testing byte values, 
and the flags are actually separate bits. 

I have been unable to dream up a bit 
checking algorithm in Basic which is fast 
enough to keep up with receiving data, 
even at only 300 BAUD. The labels 
“C” (Control port), and “D” (Data port) 
are as defined in the sample program 
listing, Figure 2. The Basic instructions as 
coded will work perfectly well at 300 
BAUD until there is a transmission error 
(not common at all at that speed). As 
soon as a transmission error occurs, extra 
status bits reflecting the problem are set, 
and the program will loop. At that point, 


THE DIGGLES KITCHEN 
NEW - UNIQUE SOFTWARE FOR THE 


ZX81 - 16K 


Now your magazines can be a handsome addition to your decor, 
well organized, and easy to find, thanks to these durable li- 
brary-quality cases or binders. They’re made of luxury-look 
leatherette over high-quality binder board. And both styles are 
custom-designed for this or any other magazine you save, with 
size, color and imprint selected by the publisher. FREE transfer 
foil included for marking dates and volumes. 


-. For faster service, CALL 
Ja TOLL-FREE 24 HOURS: 800-345-8112. 
-æ (In PA only: 800-662-2444.) 


Magazine binders * 


| P.O. Box 5120, Philadelphia, PA 19141 
| Please send: |] Cases [_] Binders 


TITLE QUANTITY 
Sync 
Other: 

hold a year's issues on [C] PAYMENT ENCLOSED $ ~ Add 


$1.00 per order for postage and handling. Out- 
side USA add $2.50 per unit ordered; send US 


individual snap-in rods, 
combining them into 


| 

| 

| 

| | 
| | 
| | 
| | 
Mixed titles OK for quan- | [C] CHARGE (Minimum $10): | 
| | 
| | 
| | 
| | 
| 

| 

| 


one volume. $7.95 each; funds only. 
3 for $22.50, 6 for $42.95. y 
tity prices. [ ] American Express [ ] MasterCard 
Visa 
Open-back cases O 
Cad No m one a OE: Date 
Signature 
Print Name 
| Address 
i City 
store your issues for individ- 3 
ual reference. $6.95 each; 3 | ee 
for $19.75; 6 for $37.50. Mixed Residents of PA add 6% sales tax. B 
titles OK for quantity prices. pi N e EAE ADA a A la T RE MEE A ea 


November/December 1982 


Original recipes from simple suppers to celebration dinners, compiled by 
John and Angela Diggle for Micro Computer Software UK. 


Cassette 1. 28 WORLD WIDE RECIPES including traditional 
English dishes like - Lancashire Hot Pot 
Steak and Kidney Pie. 
Cassette 2. 26 EUROPEAN RECIPES including main meals, 
vegetables and desserts like - 
Braised Steak in Guinness 
Courgettes Natural 
Crepes Suzette 
Cassette 3. 28 EVERYDAY FAMILY MEALS. Looking for 
something different but inexpensive? like - 
Onion Soup Gratinee 
Lamb Stew 
Stuffed Marrow 


Available soon Cassette 4 - Indian Cookery and Cassette 5 - Chinese 
cookery. You can build up a world wide cookery book of original recipes 
on cassettes. i 


Price per Cassette - ONLY $9.99 
gift 


a most acceptable Christmas 


Send your remittance to - THE DIGGLES KITCHEN 
MICRO COMPUTER SOFTWARE UK 
UNIT D.6 PEAR INDUSTRIAL ESTATE, 
STOCKPORT RD, LOWER BREDBURY, 
STOCKPORT SK6 2BP. ENGLAND. 


Please add $2. per order for air mail. 


95 


RTS 


SBRE 


Rx EN 


DTR 


TXEN 


96 


ws we 


Figure 3. 8251 USART Mode Instruction Format. 


Dé DS D4 3 D2 Di DO Bit Number 
64 ae 16 og O4 02 O1 Value (decimal) 
4) 20 10 08 O4 O2 O1 Value (hex) 
Si EP PEN. L2 1 B2 Bi Label 

= | MEANING ae Li MEANING 

O Invalid 8) © 3 bits 

1 i stop bit © i 6 bits 

Q 1 1/2 stop bits 1 Q 7 bits 

© 2 stop bits i 1 8 bits 
MEANING EF MEANING 

Enable 1 Even parity 

Disable 8) Qdds parity 

Ri MEANING 

© invalid 

1 data clock / ił 

Q data clock / 16 

1 data clock / 64 

Figure 4. 8251 USART Command Instruction Definition. 

Dé DS D4 S D2 Di DO Bit Number 
64 32 16 08 O4 O2 O1 Value (decimal) 
40 20 10 0B 04 O2 Ol Value (hex) 
IR RTS. ER SBRK RxEn DTR TXEN Label 


not used (synchronous mode only). 
Internal Reset. 
1 = reset the USART control port. 
Ready to Send modem control. 
(not required) 
Error Reset (the USART will still run with errors). 
1 = reset error status flags. 
Send BReak (to interrupt incoming transmission; 
used only in sophisticated time sharing type 
applications only). 


1 = send break. 
Receive ENable. 
1 = get ready to receive data. 


Data Terminal Ready modem control. 
{not required) 

Transmit ENable. 
1 = get ready to send data. 


nothing else will happen, and you will 
have to thump on the BREAK key, and 
rerun the program. 


Receiving data: 

210 IF PEEK C=133 THEN GOTO 
210 

220 LET X$=X$+CHR$ (PEEK D) 

Line 210 waits for the incoming char- 
acter and loops itself until “RxRDY” 
(Figure 5) is turned on by the USART. 
The initializing of the USART will always 
result in a value of 133 for the flags (DSR, 
TxMT, and TxRDY) when in receive 
mode —a total value of 133. 

Line 220 gets the received character 
value and is executed when something 
happens (either a valid character was 
received or an error condition posted). 
Since speed is of the essence at this point, 
to avoid data overrunning your program, 
the best bet is to ignore checking the 
error flags entirely and depend on the 
screen display alerting you to the error. 
Now that the Data Port (PEEK D) con- 
tains the received character, you can do 
with it what you want (always bearing in 
mind that you do not have any time to do 
anything much with it). If you write your 
terminal program in assembler or machine 
code you can do an incredible amount of 
processing between characters at 300 
BAUD. 


Transmitting Data: 
700 IF PEEK C=133 THEN GOTO 
700 

710 POKE D,Y 

Line 700 waits for clear status. 

Line 710 transmits the character value 
to Data Port. 

In this example, we wait for the ready 
to transmit flags to be posted by the 
USART in the Control Port. The value 
133 is again derived from the total of 
DSR, TxMT and TxRDY. When (and if) 
this set of flags and no others are set, we 
proceed to line 710, which places the 
value of the character to be transmitted 
(in operator label “Y”) into the Data Port. 
As soon as your program does that, the 
USART will turn off flag TxRDY, and 
possibly TxMT until it has disposed of 
the data character, at which time it will 
turn the two flags back on again ready for 
the next character. (Your Basic program 
will be hard pressed to keep up with this 
sequence of events, but there are no time 
constraints when you are the sender.) 


Adding RAM 

Figure 6 shows a circuit diagram for 
adding extra RAM to your Sinclair by 
using the Chip Select lines which are not 
required for the USART circuit. Again, 
this follows the example from David 
Sommers’ article “Experiments in Mem- 
ory and I/O Expansion.” I have shown 
only a 2K x 8 bit 2016 which is addressed 
as locations 17,408 to 19,455. The same 
principle applies for adding extra RAM 


SYNC Magazine 


_—(itststs—‘“‘NCNSOFFiggturre:'5. 8251 USART Status Read Definition. 
D7 Dd DS D4 DA D2 Di DO 


Bit Number 
128 64 sae. 14 O8 O4 On Ol 
Bo 40 L 10 O8 O4 On Ol Value (hex) 
DSK -= SYNDET FE OE PE- EMT RY RDY sae RDY Label 
DSR ; Data Set Ready. 
1 = modem is up. 
SYNDET ; Break received. 
i = break was received. 
FE ; Framing Error. 
1 = invalid character received; probably timing. 
Ob. 3; Over-run Error. 
1 = data was received faster than your program 
accepted it; data was lost. 
FE ; Parity Error. 
1 = transmission error, or parity differs between 
send and receive circuits. 
TxMT ; Transmitter eMpTy. 
1 = buffer ready to send another character. 
Rx RDY s Receive buffer ReaDyY. 
1 = received data character ready to be accepted 
by CFU. 
TxRDY ; Transmitter ReaDY to accept another character. 
1 = ready to send another character. 
Figure 7. RS-232 Standard for 25 pin “D” connector. 
FIN USE (USART) CONNECT TO 
pe Received data pin i an 1489 
= Xx Transmit data pin ii on 1488 
i x Signal ground CFU ground 
7 X Signal ground CPU ground 
6 Data Set Ready pin 4 of 1489 
ra Clear to send pin 19 of 1489 
20 Data Terminal Ready pin 8 of 1488 
4 Ready to Send pin ó of 1488 


1) The pins marked with an asterisk (xX) are required, the 
others are optional, but may, if omitted, cause error conditions 
to be posted by the USART. 

2) This pin configuration is for a male ""D** connector, 
which assumes that the Sinclair is to be attached to a standard 
RS-232 modem. 


Figure 8. ASCII Terminal Control Characters. 


ID HE X DEC DESCRIF TION 

Cr OD ES Carriage Return: usual end of message code 
LF OA 10 Line Feed: sometimes precedes CR 

NULL OO OO Null data: used after LF for timing 


Standard protocol when a computer is communicating with a 
terminal is to conclude each line of data with: 

1) A carriage return (CR) to move the cursor back to the 
left hand side of the screen or carriage. 

2) A line feed (LF) to scroll the screen up 1 line, or 
advance the paper 1 line. 

3) One or more nulls (8 hex zeroes)--these are only to give 
a mechanical terminal time to finish returning the carriage far 
the next line. 


November/December 1982 


Value (decimal ) — Figure 6. Additional RAM Wiring Diagram. — 


CPU 


=| = 
1C2 


modules beyond this range, just use the 
Chip Select lines in order as they are 
numbered so you do not leave any “holes” 
in the RAM _ addresses. I used 
TMM2016P-1 chips by Toshiba, but any 
high-access speed similar chips will do as 
well. (The 2016P-1 has a 100 nano-second 
access time). 

These are extremely simple to wire: 
the address and data pins of the chip go 
straight to the identical pins on your plug 
for the back of the CPU, the two Chip 
Select lines (because this is a 2K chip) are 
combined with a 74LS08 and thence to 
the Chip Select pin of the RAM IC, and 
power. and ground as appropriate. The 
entire wiring operation only takes about 
15 minutes. 

Testing the chip to see that it is opera- 
tional is just as simple. First, double check 
your wiring (these are $10 chips), then 
fire up the Sinclair, with the chip OUT of 
the socket. PEEK location 16389 and 
remember the value. Power off the 
Sinclair, press the IC into the socket (right 
way round, of course), and again power 
up the Sinclair and PEEK the same loca- 
tion. If everything is correct, you should 
notice a slightly longer delay before the 
cursor shows on the screen as the ROM 
routines check out the new core, and 
location 16389 should contain a value 8 
higher than the value you noted 
previously. (This location incidentally, is 
where the ROM power-up routines save 
the address of the last useable byte of 
memory). 

If this is not the case, verify the wiring 
again, especially the Chip Select lines. 
Try POKEing and PEEKing various 
locations inside the address range of the 
new chips. See if the POKEd values act- 
ually remain in memory, or if they change 
in a regular sequence (data lines crossed). 
Crossed address lines will result in POKEd 
values going to another location in the 
address range which is harder to pin 
down. If there is no power to the chip, 
the address locations will reflect back 
either “0? or "255": 


97 


8K ROM 
1K RAM 


Building Heat Load 


John E. Reinhardt 


Although energy conservation has be- 
come a buzz word in recent years, we are 
constantly reminded of the need to con- 
serve energy by our monthly electric and 
heating bills. We are urged to upgrade 
our home energy systems by buying more 
insulation, adding solar heating, and in- 
stalling more efficient electric and heating 
equipment. 

Making such choices requires taking 
many variables into account if we are to 
avoid ending up spending more money to 
upgrade than the upgrading will save. This 
article gives a program for calculating 
your building heat load. You may not 
find all the answers, but you can get a 
preliminary comparison of some of the 
options. 

The program is designed to find the 
heat load by solving two equations. 

The first equation is 


Q= a AAT 


where 

Q = Heat flow rate (Btu per hour). 

R = Heat flow resistance (hour x 
square feet x degrees Fahrenheit divided 
by Btu). 

A = Area of walls, ceiling, etc. (square 
feet). 

AT = Average temperature difference 
between the inside of the wall and the 
outside (degrees F). 

The second equation is 

Q= pVCpATL 
where 

Q = Heat flow rate (Btu per hour). 

p = Density of air (0.075 16 per cubic 
foot). 

V = Air infiltration rate (cubic feet per 
hour per feet of crack). 

Cp = Specific heat of air (0.24 Btu per 
pound).- 


John E. Reinhardt, 230 Pine Ridge Rd., Madison, 
AL 35758. 


98 


AT = Average temperature difference 
between inside air and outside air 
(degrees F). 

L = Crack length (feet). 

The variables needed to run the pro- 
gram are as follows: 

TI = Average inside temperature (de- 
grees F). 

T = Average ground temperature or 
outside temperature (degrees F). 

R = R value of floor, ceiling, walls, or 
windows (hours x square feet x degrees F 
divided by Btu). 


è 
2 a 
ro a m 
y ; ` 
4 
i d g 
- aed j 
ta La 


N 


\ 
\ 


AA \\ 
À 


A = Area of floor, ceiling, etc. (square 
feet). 

CL = Crack length (feet). 

IR = Infiltration rate (cubic feet per 
hour per foot). 

Q = Heat load (Btu per hour). 

Table 1 lists the R values for computing 
the heat loss, and Table 2 lists the infiltra- 
tion rate data. 

Enter the program on your computer, 
SAVE it, and then hit RUN and ENTER. 
The program will then ask for the data. 
Your data will appear on the screen. 


Table TR Value; oo me a E ne eee) 


Material 


Window 
Double Pane 
Window 


Table 2. Infiltration Rate (cubic ft/hr/ft). 


Crack Location 


Average Window 
non-weatherstripped 


Poor Fitted Window 
non-weatherstripped 


Poor Fitted Window 
non-weatherstripped 


Wind Velocity, MPH 


SYNC Magazine 


When the screen fills, hit CONT and 
ENTER. Continue adding data as called 
for. The Building Heat Load is the final 
number printed. Analyze each option 
you are considering with this program, 
and then you can decide which option 
will give the results you want. 

The program can be readily expanded 
for 16K RAM. Tables 1 and 2 could be 
listed in the program enabling the user to 
compute the variables. 

The following list of data will enable 
you to try out the program: 

TI = 70 

T (ground) = 50 

T (outside) = 30 


R (floor) = 2 
R (ceiling) = 20 
R (wall) = 10 


R (window) = 1.7 

Crack length = 300 ft. 

Infiltration rate = 13 

A (floor) = 1500 sq. ft. 

A (ceiling) = 1500 sq. ft. 

A (wall) = 1200 sq. ft. 

A (windows) = 200 sq. ft. 

The heat load for this set of data is 
30313.882 Btu/hr. One kw equals 3.413 
times 10° Btu/hr. Thus the heat load 
equals 8.88 kw. Given a 30 day period 
and electric heat at a cost of 5 cents per 
kwh, this amounts to $319.68. a” 


At last Your Chance To 


Coch Th 


ya 
ebug Oe 46K 


> 
=" 


e 
e 
ee e 
e 
= 
z: 
oe 


N 
Q NN 
N 


533 
<> 
a 


e 
e 
e 
z. 
QZ 
ZZ 
s 
23 
2525 
Sos2 
$5 


S23 
os 
< 
S25: 
<: 
>: 


Q 

Q 

T Q 
ELEC Rss 


2" 
Soe = 
3 
Bi 
Ld 
cH 


eee 
sse CUAS CCE 
esee CCU tT SON OT aaa aaa 
eee a CV TT OL Lae aaa 
e P T si 
OT 


Listing 1. Building Heat Load Program. 


20 LET @F=NOT FI 3 

3@ PRINT “INSIDE TEMP ; 

4@ INPUT TI 

S@ PRINT TI 

6@ FOR M=SGN PI TO VAL "4" 

70 LET N=M+NOT PI 

189. IF M>=INT PI THEN GOTO VAL 
@@_ IF N=SGN PI THEN PRINT “GRO 


pa 
‘UND TEMF. ż 


110 IF N=VAL “2” THEN PRINT “OU 
TSIDCE TEMP “"; 


130 INPUT 


166 IF M=VAL "2" THEN PRINT “CE 
IL ING" 


ne IF M=INTF PI THEN PRINT “WAL 


Line notes: 

20 Initialize heat load. 

40 Input building temperature. 

130 Input ground or outside air tem- 
perature. 

200 Input heat conduction terms. 


e Machine Code 


whos. M=VAL “e” FHEN PRINT 
19@ PRINT “R VALUE "; 
INPUT 


220 PRINTF “ARER "; 
INPUT 


NT A 
S@ LEFT @=Aze (FI-TF)} ZR 

260 LET @QT=8T+@ 

270 NEXT Ħ 


28380 PRINT "CRACK LENGTH” 
290 INPUT CL 

300 PRINT CL 

3186 PRINT “INFILL RATE" 
320 INPUT IR 

330 PRINTF 


350 LEF @=OQT+ 
ee PRINT “HEAT LORD, 


BTU/HR: 


230 Input surface areas. 
290 Input crack length. 
320 Input infiltration rate. 
340 Compute infiltration. 
350 Sum heat loads. 

370 Printout heat load. 


ZX81 and SPECTRUM OWNERS 


æ% If you are interested in finding out how a computer really works 
and want to experience true programming power -the machine 


Code Test Tool is the answer. 


x% The Machine Code Test Tool is a utility program which comes 
complete with tutorial course enabling you to enter, test, display 
and debug hexadecimal machine codes simply and quickly. 


% The Machine Code Test Tool is constructed to help the absolute 
beginner who wishes to explore this fascinating subject, or the 
expert keen to polish up his machine code programs. 


program as standard. 


Allow up to 28 days for postage 
E E ae ae 


* A HEX: decimal conversion routine is contained within the 


E E E E E E E ee ee E â E 
Post to: R. L. ASSOCIATES, 614 W. Manchester Bivd., Inglewood, Cal. 90301 


A Please rush................ZX81.M.C.T.T. at $19.95 ($25.95 Canada) 


Send payment to above address 


R.L. p 


E fF fF fF fF Ff of gy 


"try 


8K ROM 
16K RAM 


Random Walks 


Eric Chandler 


Most students of statistics are familiar 
with the “Random Walk” problem: A 
person passes through a series of doors 
and after each he is presented with the 
choice of turning right (with fixed prob- 
ability P) or turning left, and thereafter 
encounters another door. If, say, there 
are 9 levels of doors, the possible out- 
comes may be characterized by the num- 
ber of times X he turns right, from X =0 
to X=8. We can find the probability of 
each of these outcomes by the formula 


Pr(X) = ($) PX(1-p) 8-* 


and the resulting distribution is called 
“binomial.” 

The most commonly seen of these dis- 
tributions result when P=: The so- 
called “bell shaped”? carve which can be 
approximated by the normal function 


yY=__1 _ {X=\2 
oy 2m. © ( y )⁄2 
where the mean u =P and the standard 
deviation 


= VP (1-P). 

An exceedingly clever device called 
the “Hexstat” illustrates this distribu- 
tion. A large number of small steel balls 
in a transparent casing roll down 
through a cascade of bifurcated channels 
and collect in 9 columns in the familiar 
bell shape. 

A program “Random Walks” for the 
ZX81 duplicates the Hexstat. It is an 
eye-catching, pretty display and very ef- 
fective as an instructional device. Over a 
period of 15 minutes or so a series of 
“balls” falls down through a cascade or 
sieve to form 9 columns whose heights 
are proportional to the respective proba- 


Eric Chandler, RMWC, Lynchburg, VA 24503. 
100 


START 


CROBABILITY 
JF RIGHT i>? 
TURN=0. 7 


RANDOM 
C ed 


WALKS 
ee 


REM “RANDOM WALKS'.LINE 3 Ü 
SES “GRAPHICS E. 


2 R N=@ TO i 
3 PRINT AT SIN, e; IPO; 2s (NER) 
4 NEXT N 
S PRINT AT @, 10; “START: 
RANDO 
6 FOR N=44 TO 5S 
7 PLOT N,4i 
a NEXT N R 
9 PRINT AT 2,25; “WALKS 
1@ FOR N=5e@ TO 59 


12 NEXT N 

213 FOR N=1 TO 9 
ids LET Y=43-24N 
146 LEF X=28-33N 
18 FOR M=1 TO Nt 
20 FOR F=i TO 3 
22 LEF X=X+i 

24 UNPLOT X,Y 
26 NEXT T 

28 FOR T=1 TQ 3 
30a L xX=X+1 

32 PLOT X,Y 

34 NEXT TF 

36 NEXT Ħ 


F TF 8 
42 PRINT AF 21,57324N;N 


45 PRINT ATF 20,30; "xX" 

46 PRINT AT 12,8; “ENTER PROB.’ 
28; "OF RIGHT i>)’ 
+ TURN" 


F Se ‘OF RIGHT t>)” 
+ 2 ser 


7@ LET S=SGN (RND-PR? 
72 IF S=8 THEN GOTO 70 
74 FOR N=1 TQ 3 


TO 7e@ 
98 FOR N=2 FO AT iX-3} 75? 
1@@ UNPLOT X,Y 
162 LET Y=¥-i 
104 PLOT X,Y 
NEXT N 


183 LEF Rttix-3 
221@ IF AC (X-3} 


112 GoTo 66 

FOR N=1 TO 128 

116 NEXT N 

120 FOR L=8@ FQ 8 SFEFP 2 
Q 29 


23 2 LINES USE GRAPHI 
CS: INV.VIO.P,7 AND SPACE, S. 


2 463 =At {X-32 “Bi -Z 
£63 =@ THEN GOTQ 2 


124 PRINT AT L.C; ” Be 
426 PRINT ATF £434,C: fe” 
128 FOR N=1 To 3 
135 REM NEXT LINE USES GRAPHICS 
14@ PRINT AT £41,042; “a” 
NEXT C 


144 PRINT ATF L,.3@;” Ep 
146 Raeser AT £41,038," = 


149 PRINT AT 7,18; a” rg 


i152 NEXT N 

153 PRINT AT 3,19; "p` 
iS4 PRINT AT G, oo. E 
155 PRINT AT 7, hs a 
156 PRINT AT &,22;" z” 
i162 R= 


LEF a 
164 FOR M=1 FO 2 
168 LEF RA=-24-A(M) +Ë 
NEXT M 
176 PRINT AT 2,0; "THERE WERE "; 
A; BALLS IN ALL. 
INT “FOR EACH OUTCOME X UW 


PUT 
“150 “PRINT “THE EXPECTED NUMBER 


OF BALLS " 
182 PRINT “E(X BY THE BSINONTAL 
FORMULA AND” 
183 REM NEXT LINE USES GRAPHICS 
184 PRINT “GRAPH WITH THE HISTO 
188 FOR XxX=0 TO 8 
19@ LET N=8 
192 GOSUB See 
LEF EFSF 
196 LET N=X 
198 GOSUB 3AB 
LET Meee 
2@2 LET N=8-x 
204 GOSUB 38A 


E 234 
zi IF ESS INT Era?) THEN Saro 


216 FOR Y=21 TO Be-Eve STEP -1 
217 REM NEXT LINE USES GRAPHICS 


‘218 PRINT AT Y, 34X42); "HE" 
. xF Y 


222 GOTO 236 
224 FOR Y=21 TO 22- (E-1?} ve STEP 


1 
a REM NEXT LINE USES GRAPHICS 


226 PRINT AT Y,3#tX+1); og 

5230 PRINT AT 22-(E+1)7/2,3#(X+1} 
232 GoTo 236 

333 REM NEXT LINE USES GRAPHICS 


234 PRINT ATF 21,324 0%4+122 3 "me" 


382 FOR m=i 


SYNC Magazine 


bilities of the outcomes. When the tallest 
column reaches the bottom of the sieve 
the process stops. By entering different 
values of P at the beginning of the pro- 
gram, distributions skewed right or left 
may be produced. A typical display at 
this point is shown in Figure 1. 

After a short pause (whose duration 
may be adjusted at line 114) the program 
continues. The top part of the display is 
eaten up by a little gobbler who finishes 
it off with a humorous embellishment. 
The total number of balls involved is cal- 
culated and the expected number of balls 
in each outcome is computed by the bi- 
nomial formula and displayed in a con- 
trasting histogram alongside the actual 
outcomes. 

To execute the program after it is en- 
tered or loaded, hit RUN, and the fixed 
part of the display will be drawn. The 
program then asks for the probability of 
a right turn (your right) and a number 
between 0 and 1 inclusive is entered. The 
rest of the program runs without 
interruption. | a" 


STOCK MARKET 
PRICE 
ANALYSIS 


HELP! for the 


Small Investor 


Now SINCLAIR ZX-81 (16K) owners can do what the professional market traders 


Figure 1. 


THERE NERE 7S GALLS IN ALL. 

FOR ERCHR OUTCOME X VE COMPUTE 
THE EXPECTED NUMBER OF BALLS 
£X) BY TRE SINGHIAL FORMULA AND 


GRAPH WITH TRE HISTOGRAM W. 


00 NIFTY 1K 
PROGRAMS FOR 
THE 2X81 


A large variety of great games, interesting activi- 
ties, and plenty of graphics, providing hours of fun 


do — use a computer to predict price direction. This program tracks up to six stocks, 
averages, or commodities, and produces graphs and uses technical indicators to 
help you make trades. 


Technical analysis is based on two ideas: first, that the market, like the rest of 
human behavior, repeats itself; and second, that there are professionals and in- 
siders who know what the market is going to do before everyone else does, and who 
place trades in a way that is hardly noticeable. TECHNICAL ANALYSIS attempts to 
read the price action and volume figures to determine whether predicable patterns 
are developing, and what the professionals are doing. 


Professional traders have been using computers to make this kind of analysis for 
years, because the manipulation of the data is very complicated and time- 
consuming. With this program, you let the computer do the work, and its signals 
become a powerful investment tool. 


The program makes GRAPHS of the daily prices, of two moving averages, and of 
a volume indicator. A booklet that comes with the program helps you learn what to 
look for. 


The program does an ANALYSIS to signal trend-formation and tum-arounds. It 
gives a score for each indicator, and a total score, to help you see whether there is 
confirmation among the signals. 


USE THIS TO TRADE STOCKS, OPTIONS, AND THE NEW STOCK INDEX 
FUTURES!! 


This gives POWER TO THE SMALL INVESTOR! 
For program tape and booklet send $30.00 to: 


NOOTER STOCK PROGRAM 
320 East 25th Street 
New York, N.Y. 10010 


(N.Y. residents, add $2.48 sales tax.) 


November/December 1982 


for the whole family. 
Also available 


50 nifty programs 
for your 
Timex Sinclair 1000. 


Same great programs, but upgraded for 2K 
machine. The result is very user friendly with 
additional levels of play. 


$9.95 each includes 
postage/handling 


Listings and cassettes available: 
send sase for free catalogue. 


JENN PRODUCTS 
BOX 246 
HARRISON, ME. 04040 


101 


8K ROM 
1K RAM 


Part 2 


Block Transfers: Variables Transfer 
John Hoagland-Scher 


The Problem of Saving Variables 

One drawback of Timex/Sinclair com- 
puters is that LOADing a program erases 
any data that you have in the variables 
area to make room for in-coming vari- 
ables. However, the program developed 
here allows you to keep variables in the 
machine safe from NEW, CLEAR, and 
LOAD. Furthermore, it allows you to 
transfer variables from one Basic program 
to another. This spares you the effort of 
re-entering a data base in each new pro- 
gram that you wish to use it in. You can 
even combine data stored in several dif- 
ferent programs into a single data base, a 
facility you may desire should you up- 
grade your computer with additional 
memory. The heart of the Variables 
Transfer routine consists of block trans- 
fers to and from the space above RAM- 
TOP of the sort we began exploring in 
Block Transfers, Part 1, in the last issue. 

Those of you who completed Part I 
will have an easier time understanding 
the workings of the machine code pre- 
sented here. However, even if this is your 
first attempt at a machine language pro- 
gram, you can cook-book your way 
through without much trouble. Chapters 
24 through Appendix A of the Sinclair 
manual or Chapters 23 through Appendix 
A of the Timex/Sinclair manual and Dr. 
Ian Logan’s article “An Introduction to 
Machine Language” are useful, but not 
essential references. (See SYNC 1:6 or 
the SYNC special issue.) 


The Variables Transfer Routine 

Because Timex/Sinclair users now have 
anywhere from 1K to 56K of RAM, the 
Variables Transfer routine was written so 
that it will operate at any location in 
memory. In fact, the program modifies 
itself according to where it is located in 
memory, and according to how large the 
variables are that you wish to transfer. 
You do not have to change a single byte. 

As in Part 1, the block transfers used 


John Hoagland-Scher, 222A Hamilton St., 


Cambridge, MA 02139. 


102 


here employ the LDIR instruction of the 
Z80(A). Recall that LDIR uses three reg- 
ister pairs, BC, DE, and HL, in the follow- 
ing way. Initially the BC pair holds the 
number of bytes (#bytes) to be transfer- 
red, the DE pair holds the first address of 
the destination block of memory (dest’n) 
to which information will be transferred, 
and the HL pair holds the first address of 
the block of information that you wish to 
transfer (source). The LDIR instruction 
transfers the contents of the address held 
in the HL pair to the address held in the 
DE pair, then it increments (adds 1 to) 
HL and DE, and decrements (subtracts 1 
from) the BC pair. It then compares BC 
to zero,, and if BC is not equal to zero, 
the instruction is repeated. Otherwise the 
next instruction is executed. Thus the BC 
pair is a count-down register which reach- 
es zero when the entire block has been 
transferred. Examine the blocks labeled 
A, C, F, and G in Figure 2. For now just 
look at column 5. Each of these blocks is 
a block transfer routine illustrating the 
use of the three register pairs and the 
LDIR instruction as just described. I will 
explain more about these blocks, and 
about how the program modifies itself 
later. Right now we should get down to 
business. 


An Overview of the Process _ 

In summary, what we will do is load a 
machine language routine into the space 
above RAMTOP, then transfer it to a 
SAVEable REM statement for future 
use. Then we will put it back up above 
RAMTOP and illustrate its uses with a 
pair of simple Basic programs. Before 
beginning you must reserve enough space 
above RAMTOP to accomodate the Var- 
iables Transfer routine (block D, figure 
2), along with blocks A and C which will 
eventually be dispensed with. To do this, 


change RAMTOP to 17302 by typing 
POKE 16388,150 and ENTER, then 
POKE 16389,67 and ENTER, then hit 
NEW. Even if you have additional mem- 
ory, you must load the machine language 
into the addresses in column 1 in Figure 2 
initially, although this will not restrict 
future use of the program, so set RAM- 
TOP to 17302 as above. 


Beginning with Hex Loading 

Now enter the hex loading program 
shown in Figure 1. This program is iden- 
tical to the loading program that we used 
in the last issue, with the exception of the 
address in line 280, 17302. When you RUN 
this program, the screen will prompt you 
for a byte in hexadecimal. Begin entering 
the bytes listed in column 4 in Figure 2 
(i.e., enter two digits from the column at 
a time as follows: type 01 and ENTER, 
then 5C and ENTER, 00 and ENTER, 11 
and ENTER, and so on until you have 
finished entering the entire column, then 
type END and ENTER). Note that the 
program gives you a back-space key, ‘/’, 
in case you ENTER the wrong byte. Re- 
member also that in a hexadecimal listing 
like that shown in column 4, Figure 2, 0 is 
always a zero and never the letter 0. 

Once you type END and ENTER, you 
can check to see that you did not leave 
any bytes out by typing PRINT PEEK 
17405. The number 201 should appear on 
your screen (201d = C9h). Now SAVE 
the hex loading program for future use, 
then type NEW and ENTER to clear but 
the memory. Put the machine into FAST 
mode and enter a REM statement with 92 
X’s (i.e type 1 REM XXXXX .. .etc., 
then ENTER). You can change back to 
SLOW now. Note that the first X in the 
REM statement is at the address 16514. 
Now look more closely at block A, 
column 5 and 6 of Figure 2. Convince 


SYNC Magazine 


yourself that block A transfers block B 
from the addresses in column 1 to the 
addresses in column 2, the REM state- 
ment addresses. Call the routine in block 
A by typing RAND USR 17302 and 
ENTER, then ENTER again. Your REM 
statement should now contain the char- 
acter representation of the bytes in block 
B (see Appendix A of your manual). The 


Figure 1. 


1 REM FROM BOOTH, SYNC VOL.2, 
NUMBER 1 
200 LET V=-1 
210 LET V=V+1 
220 IF INT (V/50)*50=V THEN CLS 


230 INPUT H$ 

240 IF H$="" THEN GOTO 230 

250 PRINT H$;"#4"; | 

260 IF H$="END" THEN STOP 

270 IF H$="/" THEN GOTO 300 

280 POKE 17302+V,16*CODE (H$)+C 


ODE (H$(2))-476 
290 GOTO 210 
300 LET V=V-1 
310 GOTO 230 


last character in the REM statement 
should be TAN if all has gone properly. If 
your REM statement remains full of X’s, 
you had better PRINT PEEK a few 
addresses between 17302 and 17313 to be 
sure that you entered block A properly. 

Now that the Variables Transfer rou- 
tine is in a SAVEable REM statement, 
SAVE it under a name such as 
“VARIABLES TRANSFER?” or some suit- 
able shorter mnemonic. Be sure your 
SAVE was successful. 


Using over 1K RAM 

At this point those of you with more 
than 1K RAM can begin to take advant- 
age of it. The demonstration programs in 
Figures 3 and 4 require about 115 bytes 
above RAMTODP, but so that you can try 
out larger applications, reserve 156 bytes 
above RAMTOP by typing POKE 
16388,100 and ENTER, then POKE 
16389,67 and ENTER, then NEW. If you 
have additional memory, you may want 
to reserve several hundred bytes at the 


Figure 23 
REM 
Loading Statement Operating Object 
Addresses Addresses Addresses Code Instruction Comment Blocks 


17302 015C00 LD BC,#bytes 005Ch=92d 


17305 118240 LD DE,dest'n 4082h=16514d : 
17308 214243 LD HL,source 43A2h=17314d A 
Lift ek EDBO LDIR blk B transfer : 
17313 c9 RET return 
17314 16514 O14F00 LD BC,#bytes OO4Fh=79d to 
1791716517 218F40 LD HL,source 4O8Fh=16527d : 
17320 16520 ED5BO440 LD DE,(dest'n) 4004n=RAMTOP C 
17324 16524 EDBO LDIR blk D transfer 
17326 16526 C9 RET return yoy 
17327 16527 RAMTOP DDE5 PUSH IX save initial IX: +: i 
17329 16529 +2 2A0440 LD HL, (4004) RAMTOP in HL : to: 
17332 16532 +5 E5 PUSH HL HL to IX ae ee Ba 
17333 16533 +6 DDE1 POP IX RAMTOP in IX ee ee 
173350 16535 +8 014F00 LD BC,OO4F OO4Fh=79d T an mer 
17338 16538 +11 09 ADD HL,BC addr.of blk Z H : : 
17339 16539 +12 DD753A LD (IX+3A) ,L dest'n to blk F 
17342 16542 +15  DD743B LD (IX+3B) ,H dest'n to blk F 
17345 16545 +18 DD754A LD (IX+4A) ,L source to blk G 
17348 16548 +21 DD744B LD (IX+4B) ,H source to blk B_: 
£73515 46554 +24 E5 PUSH HL save addr.blk Zs: : 
17352 16552 +25 2A14h40 LD HL, (4014) 4014n=E LINE 2 bof 
17355:6555 +28 ED4B1040 LD BC, (4010) 4010h=VARS ae: See Be 
17359 « ¥6559 +32 ED42 SBC HL,BC E_LINE-VARS ee 
17361. -16561 +34 2B DEC HL variable space T EDR 
17362 16562 +35 DD7537 LD (IX+37),L #bytes to blk F :: 3:3 
17365 16565 +38  DD7438 LD (IX+38) ,H #oytes to bik F : 
17368 16568 +41 DD7543 LD (IX+43) ,L #bytes to blk G ; 
17574. T6571 +44 DD7444 LD (IX+44) ,H #bytes to blk G_: 
17374 16574 +47 C1 POP BC addr.of blk Z : o: 
177S 10975 +48 09 ADD HL,BC last addr.blk Z- J4 
17376 16576 +49 E5 PUSH HL HL to BC to: 
£7927 16577 re aa Oe POP BC last addr.blk Zs: : 
17378 16578 +51 DDE1 POP IX restore intl.IX : 
17380 16580 +53 C9 RET gives end blk Z 
17361. 16581 +54 010000 LD BC ,#bytes variable space 
17384 16584 +57 110000 LD DE,dest'n addr.of blk Z oe 
17387 . 16587 +60 2A1040 LD HL,(source) 4010h=VARS F: 
17390 16590 +63  EDBO LDIR blk transfer og 
17392 16592 +65 C9 RET return 
17393 16593 +66 010000 LD BC,#bytes variable space 
17396 16596 +69 ED5B1040 LD DE,(dest'n) 4010h=VARS ior 
17400 16600 +73 210000 LD HL,source addr.of blk Z G : 
17403. 16603 +76 EDBO LDIR blk transfer : 
1740 1660 +78 C RET return 

+79 The size of this block is : 

user defined. It is the area used 2 


I aa aS Fake a as Be ate rae gp eee Sete is Ni tet 
November/December 1982 


for variable storage above RAMTOP, 


safe during NEW, LOAD, and CLEAR. : 


top of your RAM. LOAD “VARIABLES 
TRANSFER” and type RAND USR 
16514. The USR 16514 entry calls the 
block C routine. Look again at Figure 2 
and convince yourself that block C trans- 
fers block D from the addresses shown in 
column 2 to the addresses shown in col- 
umn 3, the Operating Addresses (note 
that the DE register pair is loaded indi- 


Figure 3. 


1 REM CRAMTOP 
10 DIM A(3) 
20 DIM A$(3) 
i 30 LET P=PEEK 16388+256*PEEK 1 
389 
40 PRINT “HAVE YOU RESERVED AT 
LEAST#";USR P-P; "4#BYTES ABOVE 
RAMTOP?" 
50 STOP 
60 PRINT "A(3)","A$(3)" 
70 FOR N=1 TO 3 
80 INPUT A(N) 
90 PRINT A(N), 
100 INPUT A$(N) 
110 PRINT A$(N) 
120 NEXT N 
130 RAND USR (P+54) , 
140 PRINT "NOW TYPE NEW, THEN L 
OAD RESTORE." 


rectly from the systems variable; 4004h 
= 16388d). The Variables Transfer rou- 
tine is now safely above RAMTOP, and 
you should type NEW to clear out the 
memory. 


Trying the Application Program 

Enter the sample application program 
in Figure 3 (named in reference to the 
fact that I am still working with a 1K 
machine). When you RUN this program, 
line 40 checks to see how big the variables 
are that you set aside in earlier lines and 
asks you to confirm that there is sufficient 
space above RAMTOP for this amount 
of variable space, and in addition, for the 
Variables Transfer routine, block D. Be- 
cause the routine in line 40 uses a set of 
registers that are also used for generating 
the display, some users have found that 
they must run the machine in FAST mode 
to avoid crashing the system. Conserv- 
ative advice would be to add the following 
lines: 

35 FAST 

45 SLOW 
The variable space above RAMTOP will 
be referred to as block Z from now on. 
Line 40 also lets you determine which 
variables will be transferred, although 
nothing is transferred as of yet. Arrays 
DIMensioned in earlier lines, such as A(3) 
and A§$(3), and simple variables such as P 
will be transferred while variables intro- 
duced in later lines, such as N in line 70, 
will not be transferred. 

RUN the program, confirm that you 
have reserved adequate space, then type 
CONTinue and ENTER. The screen will 
prompt you for a number and then a 
letter. This will happen three times for a 
total of six items. Enter anything you like, 


103 


or just type 7 and ENTER, X and ENTER, 
8 and ENTER, Y and ENTER, 9 and 
ENTER, Z and ENTER. You have now 
loaded the arrays that were DIMensioned 
in lines 10 and 20, and the computer has 
now transferred those two arrays and the 
variable P to block Z. The transfer was 
executed by line 130, RAND USR (P3+4) 
which calls the block transfer routine in 
block F. Look again at blocks F and G in 
Figure 2. Block F transfers variables and 
arrays into block Z, and block G transfers 
block Z back down into the variables 
area of the same, or a different, Basic 
program. 

The screen should now be telling you 
to type NEW and ENTER, then LOAD 
and “RESTORE”, the program in Figure 
4, so go ahead. You may actually want to 
SAVE “CRAMTOP” first for future ref- 
erence. Note that the first three lines of 
RESTORE are identical to the first three 
lines of CRAMTOP. This is a necessity 
because space must be created in a Basic 
program before information can be trans- 
ferred from block Z into the program. 
Line 40, RAND USR (P3+6) then calls 
the block G routine which performs the 
transfer. The rest of the program simply 
prints your arrays. RUN the program. If 
you entered 7, X, 8, Y, 9, Z, in CRAM- 
TOP, these numbers should now appear. 
If they do not appear, recheck 


ARIES 


SPACE SIMULATION GAMES 
loK 


ZX-8I7 TIMEX 1000 
BLACK HOLES 


NAVIGATE YOUR STARSHIP THRU 
GRAVITATIONAL FIELDS OF FOUR 
BLACK HOLES TQ REACH YOUR 
HOME PLANET SAFELY 
A NEW SITUATION EVERY TIME 


LINK UP 


LAUNCH YOUR SHUTTLE AND CONTROL 
ROCKET BURNS TO LINK UP WITH 


Figure 4. 


1 REM RESTORE 
10 DIM A(3) 
20 DIM A$(3) 
30 LET P=PEEK 16388+256*PEEK 1 


40 RAND USR (P+66) 

50 PRINT "A(3)","A$(3)" 

60 FOR N=1 TO 3 

70 PRINT A(N) ,A$(N) 
NEXT N 


Figure 5. Sample Calculations of the Bytes Used 
to Store Three types of Variables. 


Variable Type Bytes Used 
Simple Variables 
LET P= 1+5 
LET PI= 2+5 
LET POP= 3+5 
Numerical Arrays 
DIM A(m) 1*2+4+5%*m 
DIM A(m,n) 2*24+44+5%*m*n 
DIM A(m,n,p) 3%*24+445%*m*n*p 
Character Arrays 
DIM A$(m) 1*2+44+m 
DIM A$(m,n) 2*2+44+m*n 
3%*2+44m*n*p 


DIM A$(m,n,p) 


RESTORE, then SAVE it, then recheck 
CRAMTODP, and, if neither of these pro- 
grams contains an error, go back to 
square one. If you made it this far success- 
fully, you deserve a round of applause. 


The Steps of the Variable Transfer 
Routine 

Let me now summarize the steps you 
must go through to use the Variables 
Transfer routine in your own applications. 

1) You must decide how much space 
you need to reserve above RAMTOP. 
Figure 5 contains formulas that are likely 
to be useful for this. In the case of CRAM- 
TOP, A(3), A$(3), and P take up 21 +9 
+6=36 bytes. Add this to the 79 bytes 
required to hold block B, and you will 
understand why CRAMTOP asked you if 
you had reserved at least 36+79=115 
bytes. Reserve adequate space above 
RAMTOP (see chapter on the organi- 
zation of memory or storage in your 
manual). 

2) LOAD the Variables Transfer rou- 
tine, then type RAND USR 16514 and 
ENTER to transfer it above RAMTOP. 

3) DIMension arrays and assign vari- 
ables that you will later want to transfer 
at the beginning of your Basic program as 
we did in CRAMTOP. 

4) Call the block E routine, USR P, as 
we did in line 40 of CRAMTOP. There 
are several ways you can do this to obtain 
slightly different information. 

PRINT USR P gives the last address in 
block Z. This must be smaller than the 
last address in your RAM, of course, or 
else you will lose your data. 


16K INSIDE?! 


No Bulky Add-ons! 
Leaves back connector free 
for printer or peripherals! 
Inexpensive using your parts. 
Can be assembled and installed by 


SKYLAB. ACTUAL SIMULATION OF 
GRAVITATIONAL FIELDS, TRUE 
ELLIPTICAL ORBITS, DISPLAY OF 
ORBITAL PARAMETERS, AND 
CHOICE OF DISPLAY MODES 


BOTH GAMES ON ONE CASETTE $12.00 
SEND CHECK OR MONEY ORDER TO: 
ARIES ASSOCIATES 
DIIMARY AVE. 

HUNT. VALLEY, PA 19006 


anyone who can use a soldering pen. 
Complete instructions, including 
schematic, parts list, suggested 
Board layout, assembly and instal- 
lation. $7.95 

With optional pre-made P.C. Board, 
ready for assembly. $18.95 from: 


Independence Research 
P.O. Box 1497 
Orem, Utah 84057 


SYNC Magazine 


PRINT USR P-P gives you the number 
of bytes that you must reserve above 
RAMTOP, as in line 40 of CRAMTOP. 

PRINT USR P-P-79 gives you the num- 
ber of bytes required in block Z, and thus 
allows you to check your calculations 
from Figure 5. 

One of these three choices must go ina 
line like line 40 of CRAMTOP, even if 
you already know the answer it will re- 
turn, because USR P sets up blocks F and 
G for the transfer. 

5) Use any other variables that you 
need to in your Basic program after you 
call USR P. These will not be transferred. 
Then call USR (P3+4) once the arrays 
that you want to transfer are filled. 

6) LOAD the program that you want to 
transfer your variables to, and DIMension 
arrays and assign variables at the begin- 
ning of the program that you wish to 
restore to the program. Do not forget P. 
Then, before any other variables are 
introduced in the program listing, insert a 
line containing RAND USR (P3+6). See 
the RESTORE program again if you are 
confused about this step. When you RUN 
the program, your arrays and variables 
will be written in from block Z. 


Protecting Your Variables 

RUN, CLEAR, LOAD, and NEW all 
possess the ability to erase variables that 
it may have taken you hours to type into 
the machine. You can employ one safety 
measure in the portion of any Basic pro- 
gram that serves to load a large array. 
You add a line which calls USR (P3+4) 
after each data point is entered. Each 
time that you call USR (P3+4) the data 
previously transferred will be written over 
identically, and the current entry will be 
added to block Z. Then if you hit one of 
the four functions above, just type RAND 
USR (P3+6) and the data will be restored. 
In the case of NEW, you will, of course, 
have to load your Basic program over 
again before restoring the data. 

For example, add this feature to 
CRAMTOP by moving line 130 into the 
FOR-NEXT loop. Type 115 RAND USR 
(P3+4) and ENTER. An occasional 
SAVE is also a good idea to protect your 
data from power failures. 

If you think you have the hang of Vari- 
ables Transfers, you are now ready for 
your next crack at machine language. 


The Problem of Fixed Addresses 

Many machine language routines for 
the Sinclair computer are written so that 
they will work properly only if they are 
located at a fixed starting address. This 
might at first seem to be a requirement in 
programs which draw upon specific ad- 
dresses within the routine for the infor- 
mation stored at those addresses. A fixed 
starting address might also seem neces- 


November/December 1982 


sary in a program in which one subroutine 
in the program (block E) is used to rewrite 
other subroutines within the program 
(blocks F and G). Let’s see how the 
Variables Transfer routine can modify 
itself so that it can be used at any location 
in memory. 

First, look at the first instruction in 
block F, LD BC, #bytes. While claiming 
to load BC with the number of bytes in 
the variables space of a Basic program, 


the four zeros in column 4 show thatïn 


actuality BC is only loaded with zero, 
that is, if block E, i.e., USR P, is not 
called prior to calling block F, i.e., USR 
(P+54). How does block E change those 
four zeros to the number of bytes to be 
transferred? 

The four zeros make up the two bytes 
at RAMTOP + 37h and RAMTOP + 38. 
Confirm this with column 3 (37h = 55d 


and 38h = 56d). Now look at block I. 
Block I subtracts VARS from E LINE 
then decrements the result to obtain the 
amount of variable space that you want 
to transfer when you call block E (i.e., 
USR P) (see the chapter on system vari- 
ables in your manual). The amount of 
variable space is now sitting in the HL 
register pair. Because the IX register was 
loaded earlier with RAMTOP, the next 
two instructions, LD (1X+37),L and LD 
(IX+38),H rewrite the two bytes that we 
just discussed in block F. Now block F 
truly contains the number of bytes to be 
transferred. Four instructions in blocks F 
and G appear to load a register pair with 
zero. Actually, block H writes the desti- 
nation into block F and the source into 
block G, then block I writes the number 
of bytes into blocks F and G. Block J puts 
the last address in block Z into the BC 


SEA WAR 
FOR ZX81 


This game is designed for one or two players. Each player has three submarines. As a certain 
number of points are reached, bonus submarines will be given. When the game is going on, the 
higher the score you get, the more that hostile features will appear on the screen. 


The features which appear on the screen are as follows: 


Submarine, Warship, U-boat and Helicopter. 


Submarine 


This feature is under your own control and is loaded at the left hand side of the screen. The keys 
‘9’ and ‘0’ are the firing buttons for the upward missiles and forward missiles respectively. 


The submarine can be moved in four directions; it can move upwards and downwards by 
pressing keys ‘7’ and ‘6' respectively. In order to move forward, you press key ‘8’ and it will draw 
back to its previous position when you release the button. Also, the submarine can be moved 
diagonally upwards or downwards by pressing both keys ‘8’ and ‘7’ or keys ‘8’ and ‘6’ respective- 
ly at the same time. 
U-boat 
This is the hostile submarine: It drifts under the sea level randomly, from right to left. Missiles are 
fired as it approaches your submarine. Destroying a U-boat scores 20 points. 
Warship 
This is the enemy destroyer which will release bombs diagonally as it drifts on the sea surface 
from right to left. 
The destruction of a warship is done by either firing a vertical missile or, when the submarine is 
just under sea level, by pressing keys ‘7’ and ‘0’ which release a horizontal missile. Otherwise the 
missiles will just pass under the ship bottom. Each destruction of this feature scores 50 points. 
Helicopter 
As you reach a certain score, helicopters appear on the left hand corner of the screen; they drop 
vertical bombs as they hover above the submarine. To destroy the helicopters, vertical missiles 
can be fired by pressing key ‘9’. Each helicopter destroyed scores 100 points. 
“New Game—ADDER—Arcade-type game. 
Shoot the numbers as they pass across the screen, but watch your total. 

Each game $9.95 plus $2.00 postage/handling 

Distributor Inquiries Welcome 


Pandai 2 Software, 


51 Elgin Street, Shelton 
Stoke-on-Trent ST4 2RD, England 


register pair so that this information is 
returned to you when you PRINT USR P. 

Although I said that the Variables 
Transfer routine can be used at any start- 
ing address, the use of the IX register just 
described above forces one qualification 
on that statement. The Variables Transfer 
routine can be used at any starting address 
provided that its starting address is 
RAMTOP. Rather’ than loading 
RAMTOP into the IX register, we could 
have the program discover its own starting 
address by reading the program counter, 
and then load that address into the IX 
register. This would free us from the 
above qualification. I will leave the 
method by which one transfers the con- 
tents of the program counter to the IX 
register as a puzzle for those of you who 
write machine language. (The answer will 
appear at the end of this article.) 


Suggestions to Machine Code 
Programmers 

The Sinclair and Timex/Sinclair com- 
puters are serious computers, and their 
usefulness will be limited only by the 
quality of the software available for them. 
Therefore, I suggest that those of you 
who write machine language routines 


write them so that they can be used at 
any location in memory. 

To return now to practical matters, 
Sinclair cautions us that a USR routine 
should not disturb the IX register if com- 
pute and display is operating. In spite of 
this caution, I have failed to crash my 
system yet. Conservative advice would 


Figure 6. 


Add these lines 
1 REM MC ARRAYS 

100 DIM Z(m) 
ae LET P=PEEK 16388+256*PEEK 1 

389 

120 PRINT "AT LEAST#";USR P-P;" 
#BYTES ABOVE RAMTOP?" 

130 STOP 

285 RAND USR (P+54). 


Change line 280 to, 

280 POKE PEEK 16400+256*PEEK 16 
oo che ited (H$)+CODE (H$(2) 
=47 


be to run the machine in the FAST mode 
when you are dealing with a questionable 
situation like this one. 


A Mystery Application 
The Variables Transfer routine can be 
used to compile machine language rou- 


SOUND EFFECTS 


MUSIC GENERATION 
TWO 8 BIT 1/0 PORTS — 


DUAL ATARI JOYSTICK CONTROL 
The ARCADE MASTER 231 anc 181000 
KIT $54.95 e A&T $64.95 e PC Board $24.95 


Now you can create complex arcade quality sound effects, 


write melodies in 3 part harmony, and control the action 


with one or two Atari Joysticks (not included) 


e3 tone generators - 8 octive range 

e3 channel mixer, amplitude controller, 
and envelope generator 

e Noise generato 

ALL | DEPENDENTLY PROGRAMMABLE! 

e Internal speaker, volume control, and 
audio output jac 

e Requires no additional power supply 

e Complete instruction manual & examples 


2 AMP 
POWER SUPPLY 


ZX80/81 © TIMEX 1000 ¢ MICROACE 
As you expand your system, you'll need 


more power to run it. 
This supply has it! 


SPS-2A -- Power Supply -- $19.95 


z 


106 


e SRR E E eae Ha SR 
 RBSS RES we & 


SPS- 2A 


eCan be used with printer, 16K rampak, 
and most other modules 

e Memory m mappe so it can easily be 

programmed in basic using peek & poke 

e User selectable to the start of any 4K 
memory location 

e2 Independent, TTL compatible I/O 
ports can be used as general purpose 
input/output, or with groli k 


MULTIPLE OUTLET STRIP 
with built in 
TRANSIENT ABSORBER 
PROTECTS YOUR COMPUTER SYSTEM 
FROM DANGEROUS VOLTAGE SPIKES 
Absorbs transients and surges such as 
ee produced by lightning, biker ar 
surges and noise spikes. 3 protected 
ets, 15 A. fuse, Bgl: switch & wile 


cord 
TAS -- RE ABSORBER -- $26.95 


Send check or money order to: 


HURRICANE ELECTRONICS e P.0. Box 87 eè Dolton, IL 60419 
Include $2.50 shipping/handling per order -- Ill. residents add 6% tax 


tines for use in a single Basic program. 
All you need is a loading program that 
places your machine language in an array. 
This is easily obtained by adding and 
substituting a few lines in Figure 1. 

Make the changes in Figure 1 that are 
shown in Figure 6. The number, m, should 
be large enough that 5 * m is greater than 
or equal to the number of bytes in your 
routine. If Z(m) is the first array held in 
block Z, then the starting address of your 
machine language routine is RAMTOP 
+ 85 in block Z and 

PEEK 16400+256*PEEK 16401+6 
in the variables area of your Basic pro- 
gram. PEEKing the contents of the 
machine language that you enter will be 
easier from its block Z addresses because 
the variables space below RAMTOP 
moves around quite a bit. 

When modifying Figure 1, set m in line 
100 equal to 4. This provides you with 4 * 
5 = 20 bytes of space. RUN the modified 
program, then type CONTinue. Figure 7 
contains a routine which returns the num- 
ber of unused bytes below RAMTOP. 
(This was written by Dr. Ian Logan and is 
reprinted here with the kind permission 
of SYNTAX ZX80, RD2 Box 457, 
Harvard, MA 01451.) Enter the bytes in 
Figure 7 (i.e., 2A and ENTER, 1C and 
ENTER, and so on). Then type END and 
ENTER. To find out how much unused 
memory you still have below RAMTOP, 
type PRINT USR (P+85) and ENTER. 
The number 204 should appear at the top 
of your screen if you are working with a 
1K machine. As you can see, there is not 
much space left. On the other hand,, you 
do not need much memory to have fun 
with machine language! 


Figure 7. 


Dr. Logan's Bytes Remaining 
sequence 
24,1C,40,CD,CB,0E,E5,C1,21,14, 
00,00,ED,42,E5,C1,C9 


Congratulations if you have made it 
through this article. If you have a useful 
program or two, and in addition, a few 
points to puzzle over, then we have both 
succeeded. 


The Answer to the Puzzle 

When you CALL a subroutine from 
within a machine language routine, the 
program counter is pushed onto the stack. 
The first instructions in the subroutine 
should then be POP IX, PUSH IX... etc. 
RET. When the main program is returned 
to, the IX register will contain the address 
of the instruction following the CALL 
instruction in the main routine. For the 
sake of simplicity, we can have the sub- 
routine decrement the IX register so that 
it contains the starting address of the main 


SYNC Magazine 


routine upon return to the main routine. 
To preserve the contents of the IX reg- 
ister through all of this, the first instruc- 
tion in the main routine should be PUSH 
IX. Then, CALL the routine immediately. 
At the end of your main routine, do not 
forget to POP IX. 

Figure 8 shows a subroutine that will 
put the starting address of a main routine 
from which it is called into the IX register 
on return. The main routine must begin 
with PUSH IX, CALL 16514, as above. 


To implement this routine with a version 
of the Variables Transfer routine, VAR 
PLUS, load the bytes in Figure 8 into the 
test program in Figure 9 and SAVE the 
result. 

Now LOAD the Variables Transfer rou- 
tine, but do not type RAND USR 16514. 
Just leave it in the REM statement. POKE 
in the changes that are shown in Figure 
10, (i.e., POKE 16520,0 and ENTER, 
POKE 16521,17 and ENTER, and so on). 
Add the lines in Figure 11, and you have 


Figure 8.. Figure 9. 
Address Hex Decimal 5 en Ae ae oe 
in REM object object 20 IET A=10 
statement code code Instruction 30 PRINT "INITIAL A=":A 
COSL DDB) 221,228. POR ix 40 RAND USR P 
wO5rO =DD EBS: 220,229 PUSH EX 50 RAND USR (P+54) 
16518: 06,05- 000,005 LD B,5 60 LET A=1 
16520 ADDS 2B 221 0a DEC: EX 70 PRINT "ALTERED A=";A 
1652210,FC .016,252- -DJINZ e 80 RAND USR (P+66) 
16524 C9 201 RET 90 PRINT "RESTORED A=";A 
Figure 10. 
REM Statement Decimal 
addresses Hex changes changes Instruction 
16520 00,11,00,00 O77 70:0: LD DE,nn 
16529 CD,82,40 205,130,64 CALL 16514 
16532 DD 25 Led see 0 PUSH IX 
16534 E1 265 POP HL 


WALL STREET 


based on the ups and downs 


of the Stock Market of dice rolls. 


practical 
software 


FOR THE SINCLAIR ZX80/81 (8K/16K) 


TRIPLE JOTSEE 
e Strategy game for 1-3 players @ Game of luck and strategy for 
1-6 players with all the excitement 


a program that prompts you for a starting 
address, and then locates itself there. Be 
sure that you have plenty of space above 
RAMTOP, then RUN the program. For 
the test program in Figure 9, you should 
enter 17252 when the screen prompts you. 
RAMTOP must be smaller than this. 
LOAD the test program and RUN it. 

The screen should show the following: 

INITIAL A10 

ALTERED A1 

RESTORED A10 
Note that any program that uses the IX 
register in the manner that the modified 
Variables TRansfer routine (VAR PLUS) 
does, can use the Figure 8 routine to 
locate itself. Thus one routine must 
remain tied to an address while the others. 
go free. a” 


Figure Fi. -o ee 


2 REM VAR PLUS 
10 PRINT "ENTER THE ADDRESS TH 
AT YOU WANT VAR PLUS TO BEGIN AT 


20 INPUT P 

30 POKE 16522,256*(P/256-INT ( 
P/256) ) 

40 POKE 16523,INT (P/256) 

50 RAND USR 16514 

60 PRINT "P IN YOUR APPLICATIO 
NS MUST NOW =#";P 


COSMONICS 


FOR THE ZX81 AND TS1000 COMPUTERS 


TIRED OF SAVING 16K 
OF PROGRAM JUST TO SAVE 
2K OF DATA? 


Pay gh tee 


SPECIAL INTRODUCTORY PRICE $9.95 EA. 
Regular price $14.95 ea. 


ZX INVENTORY ZX DIRECTORY 

e STORAGE OF 200 ITEMS AND PRICESe SORTS FILES ALPHABETICALLY 

e PRINTING CAPABILITY (ZX81) e STORAGE OF 60 FILES (16K) 

e COMPREHENSIVE SEARCH e PRINTING CAPABILITY (ZX81) 
ROUTINES e COMPREHENSIVE SEARCH 

ROUTINES 


BOTH PROGRAMS EASILY MODIFIED TO 
STORE MORE FILES WITH LARGER RAM PACK. 


ONLY 19.95 EA. 
BOTH PROGRAMS FOR 34.95 


SEND CHECK OR MONEY ORDER TO: 


SERVITRONICS 
P.O. BOX 2024, HARTFORD, CONN. 06145 


FOR INFORMATION OR VISA OR MASTERCARD ORDERS 


CALL (203) 643-7900 SHIPPING U.S. $1.50 OUTSIDE U.S. $3.00 
dealer enquiries welcome 


November/December 1982 


The COSMONICS READ/WRITE UTILITY will allow you to save 
ONLY what you want to save---from strings, arrays, or a 
location in memory---onto a cassette. You can read it 
back when you want to use it. This data can be used by 
the same program or by different programs. 


The COSMONICS READ/WRITE UTILITY can also make it easi- 
er for you to translate programs which are written for 
other computers in BASIC, and which have "WRITE to cas- 
sette" and ''READ to cassette" statements. This use of 
the utility can greatly increase the amount of software 
available to you. 


The COSMONICS READ/WRITE UTILITY is easy to use, and it 
loads easily. The instructions are clearly written, and 
a short sample program which demonstrates it's use is 
is included. The routine occupies approximately 500 
bytes, and requires a minimum of 2K RAM. 


The COSMONICS READ/WRITE UTILITY is now available for 
$17.00 + $1.50 postage and handling. Calif. residents, 
please add 6% or 6.5% sales TAX. 


Send self-addressed, stamped envelope for FREE catalog. 


COSMONICS 


P.O. Box 10358, San Jose, CA. 95157 


107 


$39.95 (KIT) 
$59.95 (A&T) 
ANALOG INTERFACE FOR THE 2X81 


Welcome your computer to the “real world” of analog 
signal processing. VOTEM is a complete package, 


sisting of bag a bag green hardware and jaishigpeis nable 
your comput voltages emperatures. 

OTEM also wb cg ‘cout that aota N sahi the tape 
signal for dependable 


e Software compatible with Timex TMS-1000, Sinclair 
ZX81/80-48K) 

+ Requires absolutely no modifications to computer 
* Measures voltages and temperatures 


e Probe provided for air and liquid temperature 
measurements 


e. Resolution is better than 14 bits (0.00005V or 0.04 
degrees C) 


e Voltage range of +1V can be expanded with on-board 
resistors 


Low power, requires less than 20mA at. +11V 
Gobo uiad 


+ Can be powered from computer’s supply (cable included) 

e Tape signal conditioning circuitry 

e Tape signal monitoring capability (audio and visual) 

e Manual includes detailed kit assembly and calibration 

e Software for calibration and applications fits in 1K RAM 

e Instructions for adapting to other Z80 computer systems 
e Con:pact, 1” by 4” by 3” 

Aao, static NAN ore oy’ 6116P-3 or by! val with IK wake Only 


ae pop 
Grona ae ead $3 shipp- 


Down East Computers 
P.O. Box 3096 
Greenville, NC 27834 


WANTED: 


Creative/innovative ZX81/ 
TS1000 “Pros” to indepen- 
dently develop software for 
national retail distributor. 
Z-80 machine language 
Capabilities a plus. Generous 
royalties. 


Send name, phone number, 
and qualifications to: 
TIME WORKS INC. 
P. O. Box 321 
Deerfield, IL 60015 


All qualified respondents will 
be contacted. 


ew weaa aac! 
FLORIDA CREATIONS PRESENTS: 


SINCLAIR 
SOFTWARE 


ye CHEAP x 


» GAMES 
» HOME 


» BUSINESS X 
» TECHNICAL ARTICLES 
a 


aaa aaa! 


ZX-81 and TS 1000 
1k through 16k memory 
MOST PROGRAMS 50 CENTS EACH OR LESS 
Catalog & two sample 
programs for $1 and SASE 


FLORIDA CREATIONS, DEPT. E » P.0. 
BOX 16422, JACKSONVILLE, FL, 32245 


H#ARHSATISFACTION GUARANTEED 441414 


(Not a part of Sinclair Research 
] OPTIC elceaeee 


108 


| the maze are creatures called Mazogs 


Game Review 


Mazogs 
David Grosjean 


Jim Beloff reports in “The Zedex 
Microfair” on the enthusiasm of the fair 
goers for the adventure game Mazogs. 
We share that enthusiasm. 

In Mazogs you are an adventurer 
searching for a treasure in a HUGE maze. 


You must find the treasure and return to 


the entrance of the maze within a certain 
number of moves. Scattered throughout 


whose job is to stop and kill you. You can 
kill them if you find one of the swords 
lying around the maze. Otherwise, you 
have a 50/50 chance of surviving if you 
get into a fight with one. By killing a 
Mazog you increase the number of moves 
you have. Also scattered throughout the 
maze are prisoners (trapped in the walls) 
who tell you which way to go, but their 
directions will take you only a short 


distance. 


Certain commands help you in the 
search, but each one costs you moves. 
E.g., a “view” shows a larger view of the 
maze than the 20 spaces normally shown; 
a “status report” tells how many moves 
are left, how many moves to the treasure, 
and how many moves the various com- 
mands cost. A sword can be bought, but 
at a very high price—half of your moves. 
You can quit the game, and the computer 
will tell you how far you got. 

After starving to death (running out of 
moves) or successfully returning to the 
entrance with the treasure, you can look 
at the maze which is four screens large. 
At this point the computer will print the 
solution. With three levels, it can keep 
you interested for hours on end. 

This game is outstanding because of its 
mixture of complexity and simplicity, its 


David Grosjean, 50 Kings Rd., Chatham, NJ 
07928. 


speed, and its ability to gradually lead the 
player up to a difficult game. It is a 
program written mostly in machine code 
but there is quite a bit of Basic, too. The 
game is rather long and takes about five 
minutes to load. We had no difficulty in 
loading it. The documentation is good, 
and the use of graphics is especially im- 
pressive (see sample run). The treasure 
seeker and the Mazogs are not tokens 
moving in the maze, but full fledged fig- 
ures with limbs that actually move. The 
size of the pixels on the Timex/Sinclair 
computers gives rather large figures, but 
they do move as the game is played. Just 
watching the graphics is fascinating. 

In short, Mazogs is an excellent graph- 
ics adventure program. and lives up to 
the publisher’s promise of being a game 
“unlike any other game you've seen on 
the ZX81.” 


SUNE 
SOFTWARE PROFILE 
Name: Mazogs 
Type: Fantasy Game 
System: 8K ROM; 16K RAM 


Format: Cassette 


Summary: Outstanding because of its 
mixture of complexity and 
simplicity, its speed, and 
its ability to lead the 
player. 

Price: £10 

Manufacturer: 

Bug-Byte 
Freepost 
Liverpool L3 3AB 
United Kingdom 


SYNC Magazine 


D 
~ 

N ~ 
arhe wv RAS 
Saxe SAN 
<a. we MQ 
z. wus 


Y` 
Amn 


Sea War 


David Grosjean 


Sea War is another excellent fast action 
graphics game that was a hit at the 
Microfair. 

The game starts by scrolling from right 
to left a very impressive “title page” asking 
for the number of players (the limit is 2). 
A rather large ship then travels across the 
surface of the water and drops your sub- 
marine into the water; then the action 
starts. You are now in a submarine just 
below the surface of the water, and you 
have to destroy U-boats, warships, and 
helicopters, all of which are capable of 
destroying you. The water surface is con- 
stantly moving, and, of course, enemy 
shots are constantly assailing you. 

Five keys provide the controls—up, 
down, forward (you drift back if your 
finger is off the key), fire up, and fire 
across. You must destroy the helicopters 
by firing up, the warships by either firing 
across or up, and the U-boats across. 
Helicopters count 100 points, warships 50 
points, and U-boats 20 points. You begin 
the game with three subs, and you can 
get additional subs when your score 
reaches 1000, 4500, and various scores on 
up. 

The use of graphics in this game is 
astounding. The action is quite fast (it is 
all machine code) and a little difficult to 
get used to. This is a sign of a good 
game —you cannot get bored easily unless 
you are also easily frustrated. Later in the 
game the attackers, mainly the subs, prac- 


David Grosjean, 50 Kings Rd., Chatham, NJ 


07928. 
November/December 1982 


Game Review 


SOFTWARE PROFILE 
- Name: Sea War 
Type: War game 
System: 8K ROM; 16K RAM 
Format: Cassette 


Summary: Fast-paced, astounding 


graphics; the best shoot 
‘em game I’ve seen for the 
ZX81 
Price: $9.95 plus $2 s&h 
Manufacturer: 
Panda Software 
51 Elgin St. Shelton 


Stoke-on-Trent ST4 2RD 
United Kingdom 


tically cover the screen with shots, and 
this is when the game gets very hectic. 

This game is best played with a full 
keyboard, but the Sinclair keyboard is 
adequate. The only major problem with 
this program is that every now and then 
the program crashes (and it seems that 
this is always during the best game!). 

In conclusion, this is the best “shoot 
“em” game that I have seen for the ZX81. 
It is a fast-paced game which keeps the 
player’s interest. The graphics are, as I 
have said, astounding. The most notable 
features are the helicopters and the 
player’s death scene. I strongly recom- 
mend this game to any arcade game fan 
who likes a challenge, and the price is 
nice at $10. 


PUT YOUR TIMEX/SINCLAIR 
COMPUTER TO WORK! 


TIMEX/ SINCLAIR SOURCEBOOK™ 
e SOFTWARE 
e HARDWARE ADD-ONS 
e BOOKS/CATALOGS 


Maximize your ZX80, ZX81 or TS1000 
computer investment with the TIMEX/SIN- 
CLAIR SOURCEBOOK which lists programs, 
hardware accessories and reference books. 

The SOURCEBOOK allows you to quickly 
identify the ZX computer products you need 
from a wide variety of sources to put your com- 
puter to work. Order your copy today — 
only $6.95 


TIMEX/SINCLAIR SOURCEBOOK™ 
Micro Design Concepts 

Dept. SC-5 

P.0. Box 280 

Carrollton, TX 75006 


Please send me the TIMEX/SINCLAIR 
SOURCEBOOK. | enclose $6.95 plus $1.25 
P&H ($2.50 outside the U.S.) Add sales tax 
in Texas. 


Name 
Address 
City 
State/Zip 

Have a product you would like listed? 
LJ Check for an application for free listings. 


sinclair 
ZX8] 


White T-shirts with red & 
black lettering. 


S-34-36, M-38-40, L-42-44 


yO Dace 


Tx. residents 
add 
5% sales tax 


Please give street address when order- 
ing. Make check or money order 
payable to: 


Pecos Star Co. 
Box 8348 
Denton, Tx. 76203 


109 


ATTO-SOFT 


PRESENTS 


ZX-MAN 


ZX-MAN. Turn your ZX8I or TIMEX 
SINCLAIR 1000 into an arcade type game 
computer with ZX-MAN. 100% machine 
code makes this fast acting program as 
much fun as being at the arcades. With the 
joystick option you can have the real feel 
of game playing never before available for 
your ZX8I or TIMEX SINCLAIR 1000. 
16K required..............008- $14.95 


JOYSTICK. With ATTO-SOFT’s JOY- 
STICK your ZX8I or TIMEX 1000 can be 
turned into an arcade type computer allow- 
ing fast control over ZX-MAN and other 
type software. Requiring only six simple 
solder connections inside your computer. 
Also included is software to develop your 
OWN PFOgramS.....escccecccesees $14.95 


(Please add $1.50 Postage and Handling. COD's add $2.00.) 
Send check or money order to: 


ATTO-SOFT 
832 E. Third Street, 
Galesburg, Illinois 61401 
(309) 343-4114 


i 
; ATTENTION i 
I SINCLAIR ZX81  ! 
- OWNERS!!! : 


Į Here’s an inexpensive little book i 
g (Programming With The ZX81) that i 
g tells you how to use the features of I 
p that ZX81 you recently bought. Iti 
g shows you programs that fit into the U 
g 1K machine and are still fun to use. I 
g Learn how the random number fl 
g generator works and use it to sim- i 
g ulate coin tossing and dice throwing. B 
g Look at the patterns the 2X81 1 
g graphics can produce. Animated f 
g graphics are also covered and com- f 
g plete programs for games such as § 

Lunar Lander and Cannon Ball are § 
g included. Seven information packed § 
g chapters in this quality book. Order § 
g your copy today. Price is $5.75 post- Į 
g Paid in the US. 


i ELECTRONIC TECHNOLOGY TODAY INC. S-1 
i P.O. Box 83, Massapequa Park, NY 11762 


j O Send me my copy of “Programming With The ZX81" 
I O Send me your complete catalog 
4 Price of Book including Postage LESION TA 


I NY State Residents include Sales Tax 
| TOTAL ENCLOSED 


i kanaa e CSE, SIP SEI ass he SCONE 


B city —_—__________State_____7ip_______ 
E E E E E E _ E E FF E E FF E E | 


110 


Attention Readers: 
You Can Review Products 


y 
LAA 


David Ahl 


We are overwhelmed! New peripherals 
and software are coming out for the 
Timex/Sinclair computers at an astonish- 
ing rate. So fast, in fact, that our in-house 
reviewers can’t keep up with it all. 

Hence, we would like to invite readers 
to write reviews for us. Some products we 
receive here and will forward to qualified 
reviewers. However, for most reviews, we 
must depend upon you to write a review 
of a product you have purchased. (This, 
incidentally, is how you become a “qual- 


ified reviewer” and get a product for- 


warded from us.) Of course, we pay for 
all reviews. 

A word about the review itself. It must 
be factual and objective. The biggest 
single group of people who read Ford ads 
are those people who have just bought a 
Ford. We all have a psychological need 
to justify a purchase. However, a product 
review is not an appropriate psychological 
outlet to justify a purchase. Nor is it the 
appropriate place to vent your passion 
against a manufacturer who has wronged 
you in some way. 

Reviews should start with a brief de- 
scription of the class of product (say 
modem or drill and practice software) 
including what it should do. Next should 
come a thorough description of the spe- 
cific product being reviewed (no opinions 
yet). Next should follow your experience 
with the product: putting it together, using 
it the first time, using it later, and the 
reaction of others to it. Note the problems 
you met and the benefits that you have 
received from using it. It goes without 
saying that the product should be used in 
the environment for which it was 
intended. 


for SYNC! 


The appropriate length for a product 
review is from 500 to 1000 words. Longer 
reviews are probably going into too much 
detail. A review of a game should be from 
150 to 300 words long. 

All software reviews must contain the 
standard Creative Computing/SYNC 
“Software Profile” information. That in- 
cludes: name of. package, type, author, 
system and memory, format, a summary 
statement, price, and manufacturer’s 
name and address. 

We favor comparative reviews of three 
or four similar items over single reviews, 
but both are acceptable. 

Pictures and illustrations are absolutely 
vital with a review or article. If we have 
to go to the manufacturer for a publicity 
shot or photograph the item here, it won’t 
be nearly as effective as your photos. If 
you're not a photographer, find a friend 
with a 35mm SLR, load it up with TRI-X 
or Kodacolor 400 and shoot the item. 
Vary the angle and lighting. They won't. 
all come out, but four or five usable shots 
out of 20 easily justifies the $7 or $8 for 
film and developing. We don’t need 8 x 
10 or even 4 x 5 prints; standard Fotomat 
3 1/2 x 5 is fine. But they must be glossy 
finish; matte is not acceptable. The details 
important for your review should not be 
lost in the very light or very dark parts of 
your picture. 

Illustrations should be done in black 
on white paper. Use India ink or a Pilot 
Razor Point equivalent. We prefer to use 
your illustrations than redraw things 
here. 

Manuscripts must be typed double- 
spaced with generous margins. Other 
helpful suggestions for preparing your 
manuscript are contained in the article 
“Writing for SYNC.” Send a self- 
addressed stamped envelope for a copy. 

Please send all submissions to Paul 
Grosjean, SYNC, 39 E. Hanover Ave., 
Morris Plains, NJ 07950, and mark your 
envelope “Review.” "a 


SYNC Magazine 


If you are looking for specialized soft- 
ware to help your endeavors into Z80 
machine language, HOT Z will be the 
tool for you. HOT Z, available from 
Sinware, can be used with the 16K, 32K 
or 64K ZX81 or TS1000. There are both 
low memory (16K) and high memory 
versions available (32K & 64K). 

HOT Z sets out to be your guide 
through the 32,768 memory locations in 
the expanded TS1000/ZX81, but it does 
more than that! HOT Z not only lets you 
enter maching language (ML) com- 
mands directly into RAM locations 
(much like entering Basic), but it also 
lets you test your ML routines one step 
at a time, while displaying register 
values. 


— | | 
SOFTWARE PROFILE 
Name: Hot Z 
Type: Machine language assembler 


System: 8K ROM (4K ROM available); 
16K RAM; 32K RAM 


Format: Cassette and manual 
Summary: At any price, HOT Z 


would be a bargain, but at 
$20 it is truly affordable. A 
valuable tool for the 
machine language pro or 
novice. 


Price: $19.95 
Manufacturer: 


SINWARE 
Box 323 
Dixon, NM 87527 


Modifications can be entered easily by 
using a special edit mode. Provisions 
have been made to allow you to use 
floating points operations already pro- 
grammed into the RAM, and smooth 
fast 24 line displays are used at all times. 

HOT Z includes a user aids program 
and a concise, well-written manual. The 
user aids will acquaint you with the 
commands you can use and will label 
various ML routines. 

Other functions of the HOT Z soft- 
ware are: Selective SAVEing and 
LOADing of memory blocks, and block 
transfers of sections of ML. Inserting 
and deleting ML commands is easily ac- 
complished. Routines can be labeled and 
those labeled can be used as destinations 
for branching commands. You can also 
find a routine by using the search com- 
mand and entering the label name. HOT 
Z converts from infamous HEX to deci- 
mal and back at the push of a button. 
ML mnemonics used are displayed. You 
enter the decimal or HEX code for an 
ML command and the mnemonic is 


November/December 1982 


Software Review 


o1-2 


Victor Schiller 


automatically displayed in its own 
column. 

For the ML neophite, HOT Z will 
greatly simplify your adventures into 
machine language, although the second 
paragraph in the manual states: 

“A minimum requirement for running 
HOT Z is some knowledge of the hexa- 
decimal (or hex) number system, which 
uses the characters 0-9 and F-F as its 16 
digits. By and large, the assumption is 
made that you, the new HOT Z owner, 
know something about Z80 machine 
code. If you do not, there is one indis- 
pensable peripheral device you should 
acquire: it needs no extra power or ca- 
bles or connectors. It comes in several 
models and is commonly called a Z80 
programming book. The one by Zaks 
(from Sybex) is useful, but those written 
specifically for the ZX are generally 
more simple. If you are learning, then 


Extend your ZX81 System: 


~ ADD YOUR OWN SYSTEM UTILITIES 


~ BUILD UP A LIBRARY OF MACHINE 
LANGUAGE SUBROUTINES 


- UP TO8K NONVOLATILE RAM ™ 


USE HM6116P CMOS RAM 4 @, 
OR 2716/2732 EPROM je 


- LOW POWER BACK-UP i 


COMPATIBLE WITH Gg 
16K RAM PACKS „7 


we 
we ee 


use HOT Z as a blackboard to work out 
the exercises.” 

My suggestion is to purchase one of 
the good books on ML and read it over 
while awaiting delivery (2-3 weeks). By 
the time HOT Z arrives, you will be able 
to charge right in. 

The more experienced ML program- 
mer will find the use of HOT Z quite re- 
freshing. The usual hassles of code entry, 
editing, and debugging are virtually 
eliminated. You will be free to concen- 
trate more fully on code formulation. 
The “one step” feature will allow you to 
easily follow the detail of your program 
without risking a “crash.” Much time 
will be saved by using HOT Z. 

At any price, HOT Z would be a bar- 
gain, but at $20.00, HOT Z is a truly af- 
fordable software value. This package is 
a valuable tool for the machine language 
pro or novice. 


*or TIMEX 
1000 


52995 


This memory board is designed to fill the transparent 8K 


block of memory (from 8 to 16K) in a ZX81-16K system. 
The use of HM6116P 2K CMOS RAM memory IC’s with 
their own reserve power supply means that routines stored 
in the RAM are nonvolatile — the RAM retains its memory 
even when the ZX81 is switched off or reset. Moreover, be- 
ing RAM, the routines you store in the memory are easily 
modified. 


With this board it’s no longer necessary to place your 
machine language routines in REM statements, in string 
variables, or beyond RAMTOP. You can build up a resident 
library of machine utilities for use by your BASIC system. 


Complete step-by-step instructions in a 14 page manual 
make assembly of the board easy. Construction takes be- 
tween one and two hours. The kit (pictured above) is com- 


plete with a silkscreened solder-masked printed circuit |} 


board, all capacitors, resistors, transistors, sockets, con- 
nectors, integrated circuits, and the lithium cell. The board 
is supplied with one 2K CMOS 6116P-3 RAM — it will ac- 
comodate three more for a total of 8K. 


Send check or money order for $29.95 plus $1.95 shipping 
and handling to the address below. The printed circuit 
board with the instruction manual is available separately 
for $15.00 post paid. 


HUNTER, 1630 FOREST HILLS DRIVE, OKEMOS, MICHIGAN 48864 Be 


111 


Hardware Review 


The Quicksilva Programmable 
Character Generator Martin Wren-Hilton 


The Quicksilva Programmable Character 
Generator: £26; Motherboard: £12; Edge 
Connector: £4. Quicksilva, 95 Upper 
Brownhill Rd., Maybush, Southhampton, 
Hants, U.K. 


The Quicksilva Programmable Char- 
acter Generator is a single circuit board 
which plugs into the QS Motherboard or 
the QS Edge Connector which plugs into 
the back of the ZX81. For the Z X80, a 
few small modifications are needed to 
connect it to the PCB. 

Once installed, it lets the user program 
128 different characters rather than the 
previous 64 and their inverses. After the 
board has been programmed, it can be 
LOADed with other programs which use 
the new character set. 

The QS Character Board is operated 
by a small switch mounted on the side to 
show the normal characters or the pro- 
grammed set. The board comes with 
comprehensive and easy-to-follow 
instructions as well as a demonstration 
cassette with two programs: CHR$ and L- 
CASE. CHR$ (1K) provides a series of 
machine code routines which make pro- 
gramming the board quite simple. L- 
CASE (3K) contains all the data for a 
complete lower case alphabet set. 

At the moment, the ZX81 gets the 
information for displaying the characters 
from the top 512 bytes of the ROM, from 
addresses 7680 to 8191. Each character 
takes up 8 bytes of data. For example, the 
letter R is made up as follows: 


Contents 

Location in Binary Total Hex 
8120 00000000 0 00 
8121 01111100 124 AC 
8122 01000010 66 42 
8123 01000010 66 42 
8124 01111100 124 TE 
8125 01000100 68 a4 
8126 01000010 66 42 
8127 00000000 0 00 


Martin Wren-Hilton, 4 Little Poulton Lane, 
Poulton-Fylde, Blackpool FY6 7ET, U.K. 


112 


Figure 1. 


100 LET L=USR SINC 
110 LET L=USR QLOAD 
120 REM E007C42427C 444200 


130 REM STOP 


The QS Character board represents 
each character in exactly the same way. 
Thus for example, if for some obscure 
reason you wished that the letter E looked 
like R, you would load the CHR$ program 
and enter the lines in Figure 1. 

Once programmed, the characters 
remain until they are changed or the 
power is removed. However, when the 
LPRINT and COPY commands are used, 
the normal Sinclair characters are sent to 
the printer. To circumvent this problem, 
CHR$ has the routines QCOPY and 
QPRNT. 

The uses of the character board are 
virtually limitless. Apart from the use of 
lower case to enhance programs, real 
“space invaders” can be easily created as 
well as more serious applications like 
circuit symbols and fine line drawings. 

By combining a number of characters 


‘Loads the normal character 
‘set into the character RAM. 
;Loads the following characters 
‘into character RAM. 

‘The first letter is the one 
sthat you want to change and 
‘the rest is Hex data for 

;the shape of the new 
‘character. 

; Tells the computer that you 
shave finished LOADing new 
;characters. 


together in one block, the user can pro- 
duce high resolution drawings. Figure 2 
shows a couple of curves produced on 
the board. Figure 3 shows how to plot 
high resolution graphs on a 256 x 176 grid 
such as seen in Figure 2. To change the 
curves, simply change the equations in 
lines 120 and 140. Due to the nature of 
the character board, you cannot plot very 
complicated functions because they 
would take up more than 128 of the 704 
blocks on the screen. The program needs 
more than 1K, and, if entered after the 
CHRS$ program has been loaded, you can 
COPY the graph onto the printer. 

The QS Character Board has 1K of 
static RAM on line which can be used for 
storing data and some machine code 
programs. The RAM lies between 33792. 
and 34815. This means that only “relative 
jumps” can be used in any machine code 


SYNC Magazine. 


that is stored there. There is a 4-way 
D.I.L. switch on the board which should 
be off when the ZX81 is in SLOW mode. 
When the board is being used in FAST 
mode, or on the ZX80 switches 3 and 4 
should be on. All the logic chips and the 
two 2114s are soldered directly to the 
PCB which is double-sided. 

The board is clearly highly recom- 
mended and one of the most useful I have 
come across. Fa 


ANALOG giae ADDA 


past 2.5 MS A/D CONVERSION TIME. 8 BIT RESOLUTION. 


8 CONTINUOUS ANALOG OUTPUTS 
0-2.56V (0-5V W/EXT. Vac). 

8 ANALOG INPUTS 0-5V. 

ADDRESS PICKS CHANN 

DIP SWITCHES SE 


I/O MAPPING AS WELL AS WHICH 
BLOCK OF ADDRESSES ARE USED. 
CAN USE ZX POWER SUPPLY. 
UNIQUE DESIGN ALLOWS EASY 
INTERFACING TO ANY Z80 CPU TYPE 
MICROCOMPUTER AND OTHERS. 
MANY MOUNTING OPTIONS TO ZX81. 
FINEST BOARD. NEWEST CHIPS. 
KIT $180. ASSEMBLED & TESTED $230. 


Figure 2. Hi-Res SIN and COS Graphs Using 
the QS CHRS Board. 


FRE S SIN AND COS GRAPHS. USING: 


THE OS CHRE EOARD. 


BUFFERED BUS/ DEVELOPMENT BOARD 
KIT $65. Bare Board $40 ®/connecror « manuan. 


RIDS VIDEO INTERFERENCE. 
UHF Modulator REPLACES VHF MODULATOR. $15 


CONNECTORS FOR 50 WIRE RIBBON. FEMALE TO ZX $7. 


MALE TO PERIPHERALS $7. GOLD PLATED. 


4 ELIMINATES VIBRATION PROBLEMS. 
USE BOTH CONNECTORS TO AVOID 
ROW INVERSION PROBLEMS. 


TERMS? MINIMUM SHIPPING CHARGE. CAL RES ADD 6.5% TA 
PLEASE SEND STAMP FOR MORE INFO. TO ORDER SEND 
CHECK OR M.O. OR CALL FOR COD. PRICES SUBJECT TO CHANGE. 


(omputer , 
Figure 3. Listing to Generate the Graphs 3 01 1 6 th Ave O nN t i nN u u mMm 


inPigere. 3300 San Francisco, CA 94118 (415) 752 6294 


26 POKE 32517.13 
27 POKE 32518,127 
28 POKE 32519,179 
29 PAKE 32520,6 
30 POKE 32521,0 
31 POKE 32522,79 
32 POKE 32523,201 


9s@ DIM 


110 FOR X=@ TO 255 Ņ 

120 LET Y=88+86242SIN (X/128sPI) Q 

130 GOSUB Seaee 

140 LET Y=88+862COS (*/1282PT) 

150 GOSUB soa 

= xT x 

170 GOTO Sese BUT A COMPLEX SIMULATION OF FOUR MILITARY- INDUSTRIAL 
BITC S 


eens Se on Š ECONOMIES LOCKED IN A DEADLY STRUGGLE FOR SURVIVAL. 


St ees a 
æ : 


5018 IF x<@ OR X 
3175 THEN RETURN 


5020 LET A=INT à 1X783 +1 ONE TO FOUR PLAYERS COMPETE WITH EACH OTHER AND/OR 
= — THE P A 
5040 BOKE 32524 CODE AS (2B) COMPUTER BALANCE OF POWER DEPENDS UPON 
+ xð- xX-13 SKILL IN DEVELOPING R ; 
Sese Pet agin Bs 22a (S3A-INT X-1 sks ESOURCES, USE OF ESPIONAGE, 
` ITATION OF ALLIANCES, AND UTILIZAT 

SOSO REM SEZI = ate i ZATION OF MILITARY 
S90 LET C=a@ POTENTIAL. REQUIRES ZX81 WITH 8K ROM AND 16K RAM. 
51200 FOR A=1 TO 32 
5110 FOR B=1 TO-176 STEP 8 
5120 IF AS(A,B) <>" “ OR A$A,B+1 
1 <>" DR AS(A B42) can v ÁSTA 

B+ 45 a E {í + TT VAARA R 
AS(A,B45) <>" ” OR ASIA, RI6) 197 " —, LA 

OR AS(A,B37) <>" " THEN GOSÙR 51 P. 
S130 NEXT B 


5148 NEXT A 


Eua & Zo 
5150 cata sese 
S5160 LET C=C+i 
5170 IF C>127 THEN GOTO S5250 CORDER FORM FOR CYBORCWA, f 
S180 LET B$IRNR.1I+INT (878)) =CHRS R 


(C+#642 (C263) 3} 


Seas LET ECON be th Bab) Send $14 (plus $1 for shipping) to: STRATAGEM CYBERNETICS, INC., 

= - r 3 4 
S210 IF C>63 THEN LET E=255-E 286 Corbin Place, 2E, Brooklyn, New York 11235 
5220 POKE 33792+C28+D_E | 
5230 NEXT D O NAME 
5240 RETURN SE i E A tee aoe wi Mes A E RN ee O 


5270 FOR &=1 TO 22 : STATE 
S280 PRINT AT 8-1,A-1; 8S (A,B) 
S5290 NEXT B 


9 A | 
2 a ee Wales Wo 
R ƏCOPY e g SN WO) tT NK \\ = \ Ke 3] 
5320 IF INKEY$="X" THEN GOTO S34 
S330 GOTO s21@e Q 
5340 LET L=USR SINC 


5260 FOR A=1 TO 32 RU We ee E A Al) a e Sa eS 


November/December 1982 113 


8K ROM 
16K RAM 


New users of the Timex/Sinclair com- 
puters sometimes spend a long time hunt- 
ing for a specific key. The keys that are 
not used frequently remain hard to find. 
Keygame is intended to help the user 
become familiar with the keyboard and 
to have some fun while learning. 

Keygame classifies users into five skill 
levels: 1) beginner, 2) trainee, 3) pro, 4) 
expert, or 5) master. The character set is 
subdivided into seven subsets. The begin- 
ner is asked to find only the simple keys, 
i.e., those in the L-cursor mode requiring 
no shifting. The trainee must cope with 
the shifted keys. The pro has to find the 
keyword keys such as PRINT, IF, and 
SAVE. The function and graphics keys 
are added for the expert and master, 
respectively. 

As the player’ s skill level increases, his 
handicap increases in steps of 10. The 
beginner has no handicap; a trainee has a 
10 point handicap, and so on for each 
skill level up to a 40 point handicap for 
the master. Furthermore, less time is 
allowed to find each key as the skill level 
increases. 

The immediate goal of the game is to 
score 150 points to win a promotion to 
the next highest level. The object of the 
game is to score 150 points at the masters 
level. Promotions occur automatically 
when a score of 150 points is attained; 
demotions occur if one’s score falls below 
one. A player may start at any level de- 
sired because the promotion/demotion 
system is self-correcting. The points 
gained for each key equal the skill level 
associated with the key: 1 point for 
ordinary keys, up to 5 points for the 
graphics keys. The penalty for a missed 
key is double the point value of the key. 

In responding, it is necessary to press 
the shift key for those keys that normally 
require it, i.e., shifted keys and graphics 
keys. It is not necessary to press the 
shifted 9 first to enter a graphics key 
response or to press the shifted ENTER 
key to enter a function key response. The 
program takes care of that automatically. 

One’s skill level will increase with play- 
ing. If desired, the response time limits 
can be shortened (or lengthened) by de- 
creasing (or increasing) the value of the 
first number in the parentheses in line 
520. 

We hope you enjoy playing Keygame, 
but, more important, we hope you will be 
able to master the keyboard in this rather 
painless way! Ba 


Joseph J. Charles, 130 Sherwood Dr., Hilton, NY 
14468. 


114 


A Keyboard Learning Game 


Joseph J. Charles 


THANK YOU FOR PLAYING ME. 
WHAT IS YOUR NAME? 
SYNK, ARE YOU A... 


2 BEGINNER i KEYS 3 
2 TRAINEE (+SH IFT } 
3 PRO. L+KEYWORDS) 
4 EXPERT {(+FUNCT ION} 
S T £+GRARPHICS) 


OK, SYNK, YOU ARE PLAYING 
AS AIN) PRO . YOUR STARTING 
SCORE IS 8&0 POINTS. 


10 REM KEYGAME 
20 REM WRITTEN BY JOSEPH J. CH 


ARLES 
36 REM 130 SHERWOOD DR. HILTON 


{7126} 392-0152 
40 REM 11:45 PM 7731/62 


N 
ET Z$=“CPPIJKOWEASDOZXRHNFGO 
99 LET Li) ="BEGINNER “ 


100 LET L$(2)=“TRAINEE “ 

110 LET L€(3} =“PRO_“ 

120 LET L${4)}=“EXPERT “ 

130 LET Arai =“MASTER “ 

140 LET M$(23 =“ KEYS" 

150 LET N$(2) =“ +SHIFT" za 

1650 LET M$(3) ="+KEYWORD 

170 LET M$(4) =" +FUNCT IONS" 

18@ LET MS&(5) ="+GRAPHICS' 

19@ LET W$="1234567690123456759 


210 LET 
one PRINT “THANK You FOR PLAYIN 
30 PRINT 
240 PRINT “I WAS TIRED OF JUST 
BEING“ 
250 PRINT “WOUND ON THAF CRSSET 
TE.“ 


a Is YOUR NAME? " 


300 PRINT Nýi", ARE YOU A..." 
320 FOR I=1 TO S 
330 PRINT TAB S 


LERS 
340 PRINT TAB 6); 


3 
=1ð0-1ðiL-1)} 


INT 
419 PRINT “SNS; “, YOU ARE 
Puar es 
420 PRINT “AS RAN? “LEL ™. Y 
BUR STARTING 
30 PRINT “SCORE IS “;5C;"“ POIN 


440 PAUSE 380 
REM 
450 GOSUB 820 
CLS 
480 IF S=5 OR S=6 THEN LET L=-2 
rig iF S=5 OR S=6 THEN PRINT AT 


KEY: 7's $3" 
éa” IF 5:35 AND 5<>6 THEN PRINT 
AT 1,9; “KEY: ".Y$ 
510 LET X$="" 
52@ FOR J=i TO (3@-22t} 
wae? TF INKEY$<>"" THEN LET X$=I 
S40 IF x#<>"" THEN GOTO S566 
SS@ NEXT 


56a RER 
578 S=3 THEN LET Y$=CHR$ iC 
ODE vad -192) 

580 IF Y$>=CHR$ 193 AND Y#€¢ sonn 
$ 215 THEN LET Y$=Z§(CODE 7$-319 


’ see TF 5=5 OR S=6 THEN LET L=5 


el GA 


Listing 1. Keyboard Learning Game. 


KEY: PRUSE 


3 SCORE: 53 


KEY: PRINT 


-6 SCORE: 78 


Si F S525 THEN IF X$c¢>VS (CODE 
be 4 THEN LET P=-2 P 
39 IF S=6 {Sy EE Ene +E (CODE 


T P= 

& IF S=5 OR S=6 THEN GOTO 6498 
630 IF X$<>¥ THEN LET P=-2sP 
649 LET Sc=s¢+P 


ene “POINTS: “;P;“ SCORE 
A 
680 IF SC<1 THEN uE Ł=L-21 

i 


700 IF SC:@ THEN GOTO 799 
tral hy aha N¢;" YOU ARE NOW ACN? 


L$ 
726 GoTo 790 
z750 IF SCci5@ THEN GOTO 460 
40 IF L=5 THEN PRINT AT 10,0; “` 
p NBS You AR 


RE! 
750 TF L=5 THEN "STOP 
766 aap L= tł 
Eh be ARE PROMOTED TO 


Be apse! 1é0 


S$C=10@0-1@2 (L-1) 
466 


we ey ENE 


Dri: 4:5 &: 
84@ REM LEVELS: nee :3:4: 5 : 
ase IF t=2 AND S=2 “THEN LET $=5 
+52INT (.5+4RND} 
860 IF UL=5 AND S=S THEN LET S=% 
+EINT (.5+¢4RND} 
870 IF S=12 THEN LET YS=CHRE INT 
(27+37 €RND} 
as IF CODE MBL: Sree ig THEN GOTO 870 


ie Aa ai 5= d LET Y$=CHR$ INT 
+ 

280 a CODE hE e =12 THEN GOTO 89g 
918 S=7 THEN LET YS$=CHRS INT 
2396424 RND?) 


926 IF S=3 THEN LET YS$=CHRS INT 
(230 +426 RND? 
O3@ IF S=4 THEN LET YS$=CHRES INT 
(1934235 =RND?} 
9490 IF CODE Y¢=195 THEN GOTO 33 


LET Y¢#=CHRS INT 
960 IF 5S=6 THEN LET Y$=CHRS INT 
(12941@2RND) 

970 LET P=5 

98@ IF S=7 THEN LET P=2 

$993 IF S=6 THEN LET P=5 

1300 RETURN 

eae Re GRAPHICS CODE CONVERSIO 


1020 REM TYPE SHIFTED KEYWORDS & 
IND. ELON 


10530 LET U$(1)=CHR$ 117 
1040 LET U$(2)=" AND 
1050 LET U$S) =CHRE 112 
10960 LET WEl4}=" TO 
1070 LET US(5S) =CHRS 114 
1080 LET US(6 TO 12)="<> STEP ST 
OP SLOW LPRINT ““ OR “ 
1090 LET WU$(i3) =CHRE 115 
1100 LET USILE? =n coe 
1110 LET U${15)=CHR$Ẹ 115 
tise LET Us(i? TO 20) =" TH 
. x EN = 
LLIST Fast “ p 


1ł RETURN 
1150 REM SYNCSUM=e899 


SYNC Magazine 


ESOL Ces 


The “Resources” column lists new 
products for Sinclair users. Suppliers and 
users are invited to send brief product 
descriptions and details for ordering to: 
Resources, SYNC, 39 E. Hanover Ave., 
Morris Plains, NJ 07950. 


User Groups 


Arizona 
e New Phoenix ZX80/81 Users Group. 
Contact: 
Randy Saxton 
4827 N. 63rd Dr. 
Phoenix, AZ 85033 
(602) 846-2882 


Connecticut 
è The New Haven Sinclair Study Group. 
Publishes a monthly newsletter for 
children. $6.00 payable to: 
Chris Baldwin 
Sinclair Study Group 
16 Lewis St. 
New Haven, CT 06513 


Illinois 
e Chicago/Des Plaines Area Sinclair 
Users Group (specializing in CIRCLE 
CHESS). Contact: 
A. F. Stanonis 
PO Box 63 
Des Plaines, IL 60017 


Indiana 
è Anderson, Indiana, area. Contact: 
Richard K. Berg 
915 Sunset Dr. 
Anderson, IN 46011 
(317) 644-1873 (home) 
(317) 644-8861 (bus.) 


Maryland 
è Lanham Sinclair Users Group. Pub- 
lishes The Computerist, a newsletter at 
irregular intervals. Contact the editor: 
Cora C. Dickson 
9528 Elvis Ln. 
Lanham, MD 20706 
(301) 577-6645 


November/December 1982 


Missouri 
e Timex/Sinclair Users Group of Kan- 
sas City Contact: 
Peter B. Wolcott 
305 West 51st Terr. 
Kansas City, MO 64112 
(816) 753-8546 


New York 
e Mid-Hudson Users Group. Contact: 
Fr. Bruce O. Bowes 
Church of the Resurrection 
Hopewell Jct., NY 12533 
(914) 226-5727 


Pennsylvania 
è Central Pennsylvania ZX Users 
Group. 
Contact: 
Jim Whittaker 
Quarters G, Antrim Dr. 
Mechanicsburg, PA 17055 
(717) 766-8365 


e Turkey 
Club Mediterranean ZX81 
Mustaffa Sokullu 
Istasyon cad., 43/8 
Goztope, Istanbul 
Turkey 


Virginia 
è Franklin County area users. Contact: 
Gary Preston 
c/o C. Irvin 
Rte. 1, Box 21 
Glade Hill, VA 24092 


Washington, D.C. Area 
è Prince George’s Sinclair Users Group 
(PG-ZUG). Contact: 
Jim Wallace 
5442 Tilden Rd. 
Bladensburg, MD 20710 
(301) 699-8712 


User Group Forming 


e Sinclair users interested in using the 
ZX81 for stock market technical 
analysis. Contact: 

Daniel Swenson 
3439 Oakland Ave., S. 
Minneapolis, MN 55407 


èe Educators and parents interested in 
applying the Timex/Sinclair to educa- 
tional settings. Contact: 
M. Mark Wasicsko 
School of Education 
Texas Wesleyan College 
Fort Worth, TX 76105 


e World Sinclair users invited to join our 
sophisticated multi-national club. Send 


SASE and short computer 
background. 
The Greater Metropolitan 
Club of USA 


ZX Users Group of New York 
Box 560 Wall Street 
New York, NY 10005 


Indiana/S Illinois/SW Ohio/NW 
Kentucky Area 
è Send long SASE to: 

The FUN-Z 

PO Box 914 

Jasper, IN 47546 


Louisiana 

è Greater New Orleans Area. Write to: 
E.V. Sandy Blaize 
417 Ridgewood Dr. 
Metairie, LA 70001 


New Jersey 
e Morris County Area. A ZX80/81 
Spectrum Users Group. Contact: 
Larry Spencer 
6 Forest Ct. 
Morris Plains, NJ 07950 
(201) 285-7819 (days) 267-5566 
(eves) 


115 


RUNNERS! 


Road racing program cassettes for TIMEX/ 
SINCLAIR Computers (minimum 2K RAM). $5.95 
for sample or send SASE for catalog of programs. 


EVANSOFT - Dept. R 
1246 Elmwood Avenue 
Evanston, IL 60202 


1or2K LISTINGSs:BERZXORG 3 

SLOTS SCREEN STREAKS; 3-D 

crapnor cnaravar An FOR 
nS f- ae € & paye 


1925 Lithin Roe 
VARIECO CE? 33804 


ZX TELEPHONE BOOK 

e Holds 720 names plus easy ADD/CHANGE/ 

DELETE functions! 

e Extensive “learner friendly” documentation even 

shows you how to add multi-access capabilities! 

R this high performance 8K/16K listing at BIG 
AV 

e Only $4. 95 from: 

THOMAS B. WOODS 


BOX 64 
JEFFERSON, N.H. 03583 


men 


IMPROVED HEAT SINK for ZX81 & 
TS1000 eliminates system crashes 
caused by piei $7.95 
check/money order or SASE for 
complete details to: 
BASCO, 289 Baxter La, Milford 
CT 06460 


PORT - A - SINC 


Port-A-Sinc is a handsome attache style 
case which includes a spike protected, 8 
volt regulated power supply; and a 12 
volt, 2.6 AMP-HR, rechargable battery. 


Snap your sinclair into port-a-sinc and 
leave it. You now have a completely 
portable computer as well as one which 
is protected against power outages and 
spikes. For complete details write: 
Anderson Engineering 
Rt #9, Box 19 
Tampa, Fla 33610 
Or enclose $140 check or money order 
for prompt shipment. 


IMPORTED GAME CASSETTES 
TIMEX + ZX81 16K $14.95 EACH 
“10 GREAT GAMES” NEW RELEASE! 
JUST IN TIME FOR CHRISTMAS KIDS 
“TRADER JACK” FANTASTIC FUN GAME 
BUSINESS LOGIC-SOUTH PACIFIC LOCAL 
THIS ONE IS FOR DAD AND MOM! 
SAVAGE SOFTWARE, PO BOX 441 
TITUSVILLE, FL. 32780 


ZX81 16K Z80 DISASSEMBLER ON CAS- 
SETTE FOR $7.95. PROGRAM IS IN BASIC 
(5K) SO THAT YOU CAN EASILY MODIFY IT 
FOR USE WITH THE ZX PRINTER OR 


YOUR PARTICULAR NEEDS. 
ZX81 PROGRAMS 
106-B ANTOINETTE CT. 
CHARLOTTESVILLE, VA 22903 


116 


Resources, continued 


New York 
e Southern Tier Area. Sign-up sheet and 
information newsletters at: 
Unicorn Electronics, Small Mall 
Harry L. Drive 
Johnson City, NY 13790 


Ohio 

e Cleveland area. Contact: 
R. F. Sieg 
19502 Thornridge Ave. 
Cleveland, OH 44135 


Canada 

è Vimont Laval area. Contact: 
Bill Walsh 
125 De Piemont 2 
Vimont Laval H7M 1B7 
Canada 


Graphics 


è Graphpak: Program using the Sinclair 
to present statistical information visu- 
ally and featuring bar graphs, line 
graphs, pie charts, and area graphs 
(rectangle divided to show percent- 
age). Program useful for enlivening 
term papers and proposals, plotting 
scientific data, assisting in business 
and family financial planning. 
Approximately 10K. Regularly $14.95 
but $11.95 if ordered before Jan. 31, 
1983; s&h included. SASE for details. 

Practical Computer Products 
21111 Strathmoor Ln. 
Huntington Beach, CA 92646 


4K Graphics ROM for the ZX81. Pro- 
vides 257 extra characters including 
lower case letters, graphics for various 
popular games, and inverses; board 
can be fitted with up to 4K extra ROM 
or RAM for machine code, U.D.G-.s, 
etc.; board fits inside the ZX81 case 
under the keyboard; 3 solder connec- 
tions. $125. 

Ultimatum 

3470 McKinley Dr. 

Abbotsford, B.C. V2S 6B7 

Canada 


Magic Graphics. Draws in 8 directions, 
lifts and moves the drawing point, re- 
draws the graphic, gives all co- 
ordinates of any graphic you create, 
moves your graphic to new position on 
the screen. 8K ROM; 16K RAM. 
$14.95. 

Orbyte Software 

PO Box 948, Dept. SR 

Waterbury, CT 06720 

(203) 753-8308 


Power Supplies 
and Switches 


è Power on/off switch for ZX81 or T/S 
1000. Greater convenience and elimi- 
nates wear and tear on plugs and jacks. 
174, x 1⁄2 x 1 inches; plugs into the 
computer. $14.95. 

Robert F. Downs 

Lyon Ware 

1520 S. Lyon 

Santa Ana, CA 92705 
(714) 835-9512 


è Power supply to meet expansion needs 
of the T/S 1000, ZX80/81 Well-fil- 
tered, 2 amp supply powered by 3 
terminal grounded wall transformer; 
rectifying and filtering elements 
housed in small black enclosure. Plugs 
directly into input jack. $19.95 plus 
$2.50 s&h. 

Hurricane Electronics 
PO Box 87 
Dolton, IL 60419 


e ZX81 Power Supply. 2 well-filtered 
outputs Output 1: 5 volts at 1.5 amps: 
output 2: screwdriver adjustable from 
6.5 to 15 volts at 1.5 amps. Incor- 
porates push button to clear the com- 
puter, an LED power-on indicator, 
and connecting plug and cable; over- 
comes problem of heat in the original 
power pack; housed in 5 x 4 x 3 inch 
aluminum enclosure. $37.50 plus $3.50 
s&h. (California residents add 61⁄2 
tax.) 

MacSwan-Packaging Co. 
PO Box 4697 
Downey, CA 90241 


Educational Programs 


e Educational Programs for the ZX81 
(16K). Ages in parentheses. French 
Revisions (14-17); Maths Revisions 
(14-17); Intermediate Maths 1 & 2 (8- 
13); Intermediate English 1 & 2 (8-13); 
Arithmetic for the under 8’s; Educa- 
tional Quiz for all the family. Cas- 
settes, $10 each plus $4 per order 
shipping and packing. 

Rose Cassettes 

148 Widney Lane 
Solihull 

West Midlands B91 3LH 
U.K. 


e Words. Exciting fun and education for 
all ages; six category spelling game; 
high motivation; positive reinforce- 
ment; one or many players. $14.95. 
The Quiz. Math game for grades 1-4; 
will improve skills at all ages; virtually 
unlimited problems of addition, 
subtraction, multiplication with 


SYNC Magazine 


reinforcement graphics. $12.95. 
Orbyte Software 
PO Box 948, Dept. SR 
Waterbury, CT 06720 
(203) 753-8308 


e Lunar Cycle. Approximation for 
determining the lunar phase for any 
day this century; accuracy usually 
within 1 day; rarely over 3 days. 
Permutations and Combinations. Or- 
ders up to 33 items in one group. 
Arithmetic and Geometric Pro- 
gressions. Computes the value and 
sum of a specified number of terms 
with a common difference or ratio, 
starting with the first user-defined 
term. 8K ROM; 2K RAM. Listing 
and directions: $2 for each program. 

Stephen Zachev 
4859 Elmwood St. 
Muskegon, MI 49441 


Games 


e Lost in Space. Moving graphics; 
flicker-free. Steer ship past meteors 
and enemy ships; land on fuel ship for 
bonus; status monitor. 8K ROM; 16K 
RAM. Cassette and instructions: 
$11.95 plus $1.50 s&h (New Jersey 
residents add 5% tax). 

M. C. Hoffman Company 
PO Box 117 
Oakland, NJ 07436 


© Acid Rain. Missile Alert. Superb graph- 
ics. Machine code. 8K ROM; 16K 
RAM. Both on one cassette: $14. 
Chris Taraba 
Box 394 
Goderich, Ontario 
Canada N7A 3Y5 


è Appolo. Red alert, defend your missile 
station. $14.95. Chopper. Manuever 
your helicopter through the treach- 
erous cavern, dodge the enemy fire. 
$19.95. Mission Escape. Simulates fight 
and flight in space; all graphic. $14.95. 
Froggy Hop. Help the frog cross the 
road to the lake. Tennis. Take on the 
computer. Gobbling Goblins, Horse 
Race, and High Rollers. 8K ROM; 
16K RAM. Each on cassette: $9.00 ex- 
cept as noted. 

Just Games 
172 Fifth St. 
Stamford, CT 06905. 


e Treasure Seeker. Graphics fantasy 
game; search for a treasure through 
multiroom dungeon while fighting dif- 
ferent types of monsters. Three other 
games included: Skiier, Mars Lander, 
Crumblin Caverns. 8K ROM; 16K 
RAM. Cassette: $7.95 plus $1 s&h. 

Spartan Software 
1403 Gloria Ln. 
Boulder City, NV 89005 


November/December 1982 


© Mars Lander. Position your cargo ship 
over your Mars base and land safely. 
8K ROM; 16K RAM. For details 
write: 
Mark E Rogers 
553 Melrose Dr. 
LaPlace, LA 70068 


è Space Adventure. Choose your speed 
and direction to navigate through the 
gravitational fields of four black holes 
to reach home safely; new configura- 
tion of black holes and home planet 
each run. Cassette and Basic listing: 
$10. 

Aries Associates 
511 Mary Ave. 
Huntingdon Valley, PA 19006. 


© Demon-Driver. Car chase with the user 

vs. the ZX81. Fully machine code. 
Send international ostal couoon for 
information sheet. Double-saved cas- 
sette, air mail to U.S.: $10; to U.K.: 5. 

Mrs. Dan Kurth 

Langgasse 51 

CH-3292 Busswil 

Switzerland 


Utility Programs 


è EX-HEX. Allows user to read, write, 
and test machine language programs 
in hexadecimal code; performs from 
menu: conversions (hex to decimal and 
decimal to hex), block moves, program 
insertions and deletions, RAMTOP 
setting, program saving (including pro- 
grams stored above RAMTOP). 8K 
ROM; 16K RAM. Cassette and 
instructions: $9.95 plus $1 s&h per 
order. 

RCO Technical 
PO Box 773 
St. Ann, MO 63074 


e The Display File Map. $1.00. (Free 
with order). Further information upon 
request. 

Harthun Engineering and Research 
PO Box 111 
Albany, KY 42602 

(606) 387-8391 


e “Teach Your ZX80/81 to Talk.” De- 
tailed plans for hardware, parts 
sources, and software to make your 
computer produce natural speech; 
sounds human, not like science fiction 
robots. 8K ROM. $5.00 pp. 

Harthun Engineering and Research 
PO Box 111 
Albany, KY 42602 

(606) 387-8391 


e “Adventures in Artificial Intelli- 
gence.” Life forms created range from 
simple “reflex” creatures to those ca- 
pable of “learning”. and “killing”; en- 


Don’t spend a fortune on a disk 
drive until you try our: 

L&G Vu-Load Volume Monitor 

e insures program /oad every time 
e monitors tape output level 

e gives positive save indication 


e detects blank tape without 
disconnecting cassette wires 


e ready to use—no wiring 


Level-Vu Prism 
Let’s you see recessed tape counter 
without moving from seat 
e attaches easily to recorder body 
or lid 
e fits most recorders including 
Radio Shack, Vic-20, Atari 
e magnifies counter numerals 
Vu-Load Monitor $19.95 + 2.50p &h 
Level-Vu Prism $3.95 + 1.00 p & h 
L&G Enterprises 
P.O. Box 6854 


Silver Spring, Md 20906 
(301) 774-0126 


ARTIFICIAL INTELLIGENCE 
FOR THE ZX81? 
YES! 


SYNCZX is an artificial intelligence 
program with natural language capabili- 
ties for the ZX81 with 16K RAM, avail- 
able from Frog Software. 

SYNCZX will talk to you in ENGLISH/ 
NO MENUS. You can use SYNCZX to 
balance your checkbook or you can re- 
program SYNCZX to do anything you 
would like. However you do not need 
programming skills to use SYNCZX as 
is. Even a child can use SYNCZX be- 
Cause it is easy to read and understand, 
talking to you in simple English. 
SYNCZX even remembers the people 
who use it! 16K cassette with manual 
only $6.95 plus $1.50 postage & han- 
dling. 


ALSO AVAILABLE 
PERSONAL COMPUTING PACKAGE 
7 programs. Graphs (1K), Appoint- 
ment book (16K), Checkbook (16K) and 
Three Games (1K), etc . . . All 7 for only 
$1.95 plus .70¢ postage & handling. 
Send to: 


Frog Software 
Box 95 
Glenmont, New York 12077 
(518) 465-6552 


117 


EDSON ELECTRONICS OFFERS 


Educational programs for grades ! 


1-4 that reinforce what they learn in 
school. We also offer a digital dis- 
play load monitor for monitoring 
data from the cassette to the 
computer. 


Write to 
Edson Electronics 
P.O. Box 151211 
Tampa, FI. 33684 
for free info. 


MARKETING SERVICES 
For those unfamiliar with techniques in mar- 
keting methodology. 
Send us your original programs for review. 
Send S.A.S.E. for full details, now. 

Computer Software Marketing 

Box 48595 

Chicago, Illinois 60648-0595 


IS YOUR FAMILY TIRED 
OF PLAYING GAMES ON 
YOUR MICRO? 


ARE YOU LOOKING FOR WAYS 
OF CHALLENGING YOUR 
INTELLECT? 


INTELI-QUIZ IS THE SOLUTION! 


Through INTELI-QUIZ you can test 
your family’s or your friends’ knowledge 
on your 16K ZX81. 


NOW AVAILABLE 
2 Quizzes per cassette 
issue 1.1 “General Knowledge” $5.00 each 
issue 1.1 “Movie Trivia” $6.00 each 
issue 1.1 “Sports Trivia” $6.00 each 


Send Check or Money Order to: 
S.C... 

Box 553 
Mechanicsville, Virginia 23111 
Virginia Residents add 4% sales tax. 
Overseas orders add $1.00. 


ZX81 VIDEO INVERTER ADDS PROFES- 
SIONAL TOUCH. 

NO MORE EYE-STRAIN. 

DISPLAY SHARP WHITE CHARACTERS 
ON SOLID BLACK BACKGROUND TV 
SCREEN. 

A TOGGLE SWITCH LETS YOU CHOOSE 
BETWEEN NORMAL AND REVERSE. 

THE SMALL PRINTED CIRCUIT BOARD 
FITS INSIDE YOUR ZX81. 

ALL FULLY TESTED WITH CONCISE 
INSTRUCTIONS. 

MONEY BACK GUARANTEE. 

AVAILABLE AS KIT £5 / $10 

READY BUILT £6.50 / $ 13 

PRICES INCLUDE AIRMAIL. SEND £ OR $ 
CHECK. 

D. FRITSCH 

6 STANTON ROAD 

THELWALL 

WARRINGTON 

CHESHIRE 

WA4 2HS 

UK 


Resources, continued 


tire ‘‘communities’’ are set up. 
Machine code for fast action. 8K 
ROM; 16K RAM. Cassette and man- 
ual: $8.95; manual only: $5.00. 
Harthun Engineering and Research 
PO Box 111 
Albany, KY 42602 


è Program “CWSS”. Split screen CW 
Transceive Program. Received CW is 
printed on the top 10 lines of the 
screen; the transmit display, the bot- 
tom 10 lines; the two halves scroll in- 
dependently; will copy CW up to 
about 40 wpm. Cassette: $10 pp. I/O 
interface required; 2 board etched cir- 
cuit board set for the interface: $12 pp. 

Cliff Nunnery, NU4V 
313 Vaugh St. 
Fort Walton Beach, FL 32548 


Publications 


è Time/Sinc Directory. Lists Timex, Sin- 
clair users and user groups in your 
area. For two issues (early 1983 and 
mid-1983) send $2.00 and 2 long 
SASEs to: 

Time/Sinc Directory 
PO Box 23170 
Milwaukee, WI 53223 


e ZX Source List. An up-to-date listing 
of over 165 supplies of hardware, soft- 
ware, books, and users groups in the 
U.S. and Canada. $3.00. 

G. E. Topp 
PO Box 388 
Klamath, CA 95548 


èe SYNC-hronizing Education and 

Games. Vol. 1, no. 1, now available. 
Programs include: Shoot the Teacher, 
Artist 2, Warship, and Attack. Fea- 
tures articles and tips. Yearly 
subscription (16 programs): U.S., 
$7.00; Canada, $8.00. 

SYNC-hronizing Education and 

Games 

Henry Svec 

668 Sherene Terrace 

London, Ontario 

Canada N6H 3K1 


e QZX. The journal covering amateur 
radio and Sinclair computers (ZX80, 
MicroAce, ZX81, and Timex/Sinclair 
1000) is continuing publication with 
Alex F. Burr, K5XY, as publisher and 
Ambrose “Bo” Barry, W4GHV/5, as 
editor. The new address is: 

2025 O’Donnell Dr. 
Las Cruces, NM 88001 


èe The DATAmerica ZX-Index. A 
sourcebook of software, hardware, 
publications, services, and users 
groups for the ZxX80, ZABI, 
MicroAce, T/S 1000, and Spectrum 
computers. If you are interested in 
listing anything, contact: 

The DATAmerica Computer 
Users Group 

312 E. 84th St., la 

New York, NY 10028 


e A Directory of software and hardware 
suppliers being compiled for distribu- 
tion in the U.S. and West Germany. 
Suppliers are invited to send informa- 
tion about products and books for 
inclusion to: 

Walter Gampper 
Zollamtstrasse 50 
675 Kaiserslautern 
West Germany 


RAM Expansion 


e 16K RAM pack for the ZX81. Injec- 
tion molded plastic case; overcomes 
wobble and disconnection problems 
characteristic of other units; optional 
extra is a keyboard sounder giving au- 
dible feedback when a key is pressed. 
RAM pack: $19.95; RAM pack and 
sounder: $24.95. 

Ground Control 

Alfreda Ave. 

Hullbridge, Essex SS5 6LT 
United Kingdom 


e ZX81 2K upgrade. Kit including 
instructions and IC socket: $14. Send 
$24 and your ZX81, and have your up- 
grade done for you. 

Micro Basics 
5768 Albans Circle 
Lithonia, GA 30058 


e Expand your ZX81 1K to 16K or 16K 
to 32K for unde $30. Fits inside yoru 
ZX81. Plans: $5. SASE for list of 
peripherals. 

T. W. Cook 

MACS-24 MCAF 

Quantico, VA 22134 
(703) 640-3188 


SYNC Magazine 


e Organic Micro. A collection of mod- 
ules to expand the ZX81 with the 
capability of reconfiguration to form 
an upgraded system in the future. 
Modules available: Persona—an inter- 
face to enable an Organic Micro to 
Grow on the ZX81 (£24.95); Mini- 
map—a memory mapping device to 
extend the address space of the ZX81 
from 64K to 1M (£29.95); RAM 
08— expands RAM from 2K to 8K 
(£19.95); RAM 16—16K RAM add-on 
(£21.95); RAM 64—64K RAM add- 
on (£64.95); Toolkit—a module to take 
up to 8K of utilities in EPROM/ROM 
(£17.95); DROM (£32.95); Pericon a 
(£22.95), b (£27.95), and c (£34.95) 
—I/O modules; Userfont—user de- 
finable characters for RAM 08, 
DROM, and Toolkit (£6.95). 

BASICare Microsystem Ltd. 

5 Dryden Ct. 

London SE11 4NH 

United Kingdom 

01-735-6408 


Joysticks 


è Add a joystick to your 8K ROM 
ZX80. Hooks up in minutes. Plans and 


parts (does not include Atari type joy- | 


stick): $6. Specify your machine. 
Ron Howard 
1 Ridgelan, Apt. 5 
Florissant, MO 63031 


e Hook up your own Atari joystick to 


your ZX81. Accessed through basic or 
machine code; examples given. Com- 
plete kit; a little soldering: $39. 

Chris Taraba 

Box 394 

Goderich, Ontario 

Canada N7A 3Y5 


EPROM 


eI/P Nonvolatile Memory EPROM 


Programmer. New ZX81 plug on 
module has 6 I/O prots and 4 sockets 
for 2K memories; static RAM or 2716 
EPROM may be used; save USR pro- 
gram in EPROM for ready access or 
use static RAMs. Kit: $79; assembled 
and tested: $99. Low cost EPROM 
programmer for 2716 EPROM. Inter- 
faces to ZX81 through 3 parallel ports; 
includes software to program or copy 
EPROM. Assembled and tested: $79. 

Wisconsin Electronics 

PO Box 332 

Milton, WI 53563 


Program Collections 


e ZX81 Programs. Tape (3). Business; 
Tape (5) Quiz; Tape (1) Games; Tape 
(4) Investment; Tape (6) General; 
Tape (2) Diet. 8 programs per tape. 
8K ROM; 1K RAM. Cassette: $8 
each. 

Roman Software 
788 Mercury Circle 
Littleton, CO 80124 


e Programs for the ZX81 or T/S 1000. 
Games, business, household, educa- 
tion, graphics, and other general items. 
For free catalog send SASE to: 

ZXAD Software Unlimited 
404 Edgewood Dr. 
Exton, PA 19341 


Printers & Supplies 


è Paper rolls for the ZX printer now 
available in the U.S. by mail. Electro- 
sensitive paper with a whiter back- 
ground for superior contrast and 
legibility. 3 rolls: $12 postpaid. 

E. Alvarez 
PO Box 1025 
Oviedo, FL 32765 


TIMEX and SINCLAIR FORGOT! 
Here’s 


ADD-A-SWITCH 


Power switch for Timex 1000 and Sinclair ZX-81 


e Installs instantly - no 
computer modification 


e Eliminates plug & jack 
damage 


e Saves hassle - no loose 
cords in work area 


e Protects your computing 
equipment 


Mail to: Lyon Ware, 1520 S. Lyon, Santa Ana, CA 92705 
Please send me the ADD-A-SWITCH for $14.95 ea. 


C Check O Visa 
Signature 

ME se ee gS ED. 
Name 

Street 

City 

edie 8 i a AO 


Calif. residents add 6% sales tax. Visa, MC add $2 handling. 
Lyon Ware is an affiliate of Development Associates 


O Master Charge 


November/December 1982 


ZX-FORTH 


Now you can have the SPEED and POWER of comput- 
ers costing hundreds or even thousands of dollars more 
inside your ZX81. FORTH is now available on cassette 
for the 16K ZX81/TS1000. EASIER to learn than BASIC 
and the most powerful language available for the ZX81 
10 TO 20 times FASTER than BASIC and typically uses 
less than HALF the amount of RAM space needed by an 
average BASIC program. Includes extentions for speedy 
graphics handling, as well as basic data handling func- 
tions. Sample programs written in FORTH included at no 
extra charge are: Scratchpad, a simple word processor, 


and Breakforth, an arcade-type game. Also included is a 
complete bibliography and information about fig- 
FORTH, the international FORTH users group. 


Find out why FORTH is gaining worldwide support as the 
state of the software art and have fun learning about 
computers the fast and easy way. 


THE FOURTH DIMENSION 
1451 N. UNION STREET 
MIDDLETOWN, PA 17057 


ZX-FORTH® 16K CASSETTE $34.95 
Add $2.00 shipping and handling. 
Add $7.00 shipping and handling for foreign orders. 


119 


Resources, continued 


Business/Household Programs 


e Z-Wryter Word Processor. Allows 
user to write, edit, and save text on 
cassette; edit functions to modifify 
pages, lines, or individual characters. 
8K ROM; 16K RAM. Cassette and 
instructions: $9.95 plus $1 s&h per 
order. 

RCO Technical 
PO Box 773 
St. Ann, MO 63074 


e Universal Inventory File. Files created 
by menu and prompts; 2 ways to 
search; start new files, add, delete, 
check, and more. 8K ROM; 16K 
RAM. Cassette & manual, $16.95 
postpaid. 


e U.S. Savings Bonds. List the series, is- 
sue date, serial number, and de- 
nomination for 25 bonds; add or delete 
bonds, make changes, increase or de- 
crease number listed. 8K ROM; 16k 
RAM. Source list and instructions: 
$2.50 check or money order. 

John B. Carson, Jr. 
11200 Lockwood Dr., No. 307 
Silver Springs, MD 20901 


è Compu-Stat. Calculates most descrip- 
tive statistics, graphs frequency dis- 
tribution; menu driven; manual gives 
step-by-step explanations. Cassette and 
manual: $9.95. 

Computercraft 
156 Drakes Ln. 
Summertown, TN 38483 


e7 programs for the 1982 tax return. 

Data is interactively entered, exam- 
ined, modified; results seen immedi- 
ately; forms can be printed and/or 
saved on tape for future use; Form 
1040 and Schedules A, B, C, C1/C2, 
D, and E are featured. Available in 
January 1983. $14 (cost is deductible). 

KSOFT 

845 Wellner Rd. 

Naperville, IL 60540 


e Universal Inventory File. $16.95 plus 
$1.50 s&h. Universal Mailing List. 
$10.95 plus $1.50 s&h. (New Jersey 
residents add 5% tax.) 

M. C. Hoffman Company 
PO Box 117 
Oakland, NJ 07436 


èe ZX Data Finder. High capacity file 

manager; versatile catalog/index/ref- 
erence tool; edit, search, and display 
routines explained in text; a course on 
file and data storage techniques. List- 
ing and documentation: $9.95. Data 
sheets on program capabilities are free. 

Thomas B. Woods 

PO Box 64 

Jefferson, NH 03583 


è The Diggles Kitchen. A series of cas- 


settes to build up a world wide cookery 
book using the recipes of John and An- 
gela Diggle. 3 vols. available now: 
World-wide Cookery, European Cook- 
ery, Everyday Family Meals. 2 vols. 
coming: Chinese and Indian. Prompts 
the user at each stage. 32K of pro- 
gram; about 28 recipes per tape. $9.99 
plus $2 s&h. 

Micro Computer Software 

Unit D6, Pear Industrial Estate 

Stockport Rd., Lower Bredbury 

Stockport SK6 2BP 

United Kingdom 


061-494-2441 Fa 


SATS CANS AE TA A A I AD rs a I A a N A EN T S E li a E ae ee hy ere 


PA I Aaa o AT E E E ES, ET A 58 
E a T I E A EA R EEES EE EE EENT EAR AET i 38 
Abacus ESIOCUT OMICS Ti oe aei spscidergarneredeccdonssqaprbokocdboleouts 86 
Pe Eaa AE Ee og. oes RE P P EE SAET oe enpan danas A O R E 84 
INSE E I E E E EEE EAE N 63 
IR EI a a S EE ANES A E E 68 
Advanced Interface Designs -dissirita essa agete sdo fose ieit 91 
ABCO inis ES EES A T E E ESS T A E E 6 
Apropos Technology.............scccsrecccssssreccesersssessecessssesevsennes a7 
ANGEPEON ENZinicering,.......:...6.5ss.scvecscescostnedossrcecesangeeanes 116 
AMES ASSOCIO a dois as og 1055 roe i street cbs arsa saai ae eeen 104 
ETE a A ER A P PEN ESASEN RAET TEANTA 110 
aI TA Te AT E AAE E E ANT 66 
PASCO shade a E a a Dears EAD A Ro A 116 
Basically. SOICWATE <. ndesa oonan boeie igoa eed nania S NEn aea ke tiia Eais 85 
aa 0) 3 (a) yor s pean Sie KE Te OE E ANE T T 4, 50 
a E E Ie aA RO AE A ns hc A E EA T O A, 45 
aA ar S E ARA is an EE E E AR E A O A E PE 
Bie Byte nso E E EE P A E E AE syd OE 11 
Byte Back CO. ae Ei Aoa Iaa eaae iae anane ena E 12 
C20 Mae BAN a aig Fades ads san) asipat ona ai ken sac ESAS n SaN Es 53 
CAL AruUMENS 5S vce spina ctadadnc cede hcedtentdces svedegatepees 31 
CED Corp Boeke i accanedanaccekduscutnoksaroeonshhbbgetvenasunasaesouaieadics 47 
OI RAA AE 0s. AENA Sheen opened OAOE TET 86 
Circ C Hess a nn re sairat Bue s iar eT a NEANS 58 
Cleva Gomiputer. WATE insaat Abe ii eaaa oe Shae aeai 20 
Cole CONSTANTE N eaae esio taes kneaded asde tenders <otnts 89 
Compu-Tech and Software.........ccccccssssesececsssssberseessseseedes 40 
Computer Continuum A.s. eeii oripa oneee Erosit ERTE 113 
Computer Engineering Service’............cscccccrseccesessesessecrsesees 54 
Computer Software Marketing ..........:::cccsssceseneeeesereeeeees 118 
Commpiithittk A A A T AE E E TTNET E 71 
E EN e PAE A A AE APA AAN ET AEE ATT 21 
O a R N A BEAR E NR DRA AE E AE T 107 
DA E D ECE EE E TA E ES E T 85 
D ARa OANE E E E E E A EA E EE 7 
DE s OE AET TEA AE E E RA IRA A 67 
DPacdalusiSotWarE aande onetaeo thoy 2g taae e desetke desise saaa t 70 
Dallas Development Systems...............ssesssestscecesssesssesesssees 90 
VR RIE aE A hashes E EAE eo san S AE R N T ANT 58 
| DE RR TO a oe E R alee lee, EREE S ARA S P F 14,15 
Development Association (Lyon Ware)........cccsccsseeeneees 119 
Diggles Kitchen Micro Computer Software seses 95 
PNG COGN CEA EERE sacaach ad IS EEE 83 
Down East CGPI ON So coasetp xcapeasenccdh rasas esd oio ranee 108 
DEVO CRN sl lg Ser ctade a ET ea ak aaao a ia 43 
RAA C EEE E Ea A TAERE E A EE 13 
Bdson EICI TOMOS at. ea aA i eka E anar raisi 118 
Electrome Teci Today CANO. mios. kaert iee ieres esene si papae tne 110 
Eohemeris EV ee eea peaa EE AER Ee pa ansaa da] 57 
OR T AEE E PRE ATENE A SE. ENN EPIA TEA A eee 58,116 
BESET Mets ooh N A E S T E 52 
MEG CPU EE I EEE E EAE 89 


Index to Advertisers 


Florida Créations ca A eae ak Eds roop ea enie esga. 108 
Fourth: Dimension, The... :..........sc..ccscdeicssoncnssbehtedeMbesseces 119 
Fresh: TIACKB o L osicacdsnnsedescci paces A ee ekaa rine 45 
IBAR Eit ge. o) r e ae Ae AR EE A EAA aa a RE Eeh, OREA. 118 
Froe SoftWare oo 55.05. siccnte neso aa p E aE E r AE e S 117 
Pullot Micro Laretei eas eetececsedecasenan Reine ORe a A cits tines 24 
Peter Furlong Product ...:.............c.cssscssesooessssndsccccssssgnnesoseoes 4 
General Systems Consulting...............ssccccssseseresersesssseesnees 57 
Gibbons: MBa aae es wae pe edie nn cath ind bs Eae eaaa i 91 
Gladstone PIeCtroniCS. 4... sti Kes ns eckentuccnheoetdossiaetast gous rs iT 60,61 
EAE a E EEE EEN: E E EE EE N A 81 
Haymarket Software... :....:.ic..sccccccsesesesnstessssstncesenas soos 16, 67 
Heath Computer Service ...........:..cccsccscscecsessssenssssesessossesesses 8 
PEGG Lidi aeiio Sidse ei enade Arrant ona O Aa 81 
ME HORMAN. erle da very v0 paasee Posh EDA r reanna siener 58, 68 
A SSAA ih a PED, E EEIE AAE E TE P 111 
Hurricane PEIECUPON IGS i Aeee os aoaeeoo aasia AEA erTi 106 . 
Independenc® Research ......0......052....ccosescsonssessdesessnssonstosens 104 
TPiFPRICY FRESCA PCH i REET O E OTN AE S E ETARE seed 78 
E n A E A RE E A AE 84 
MMternational Publishing... sagas sa ops sghonssaccanssncedevenesevoanph 69 
AA Ataa lo YA RAO ao nE DA EE A BA EAERI EO SE A S 46 
IRS SONWANE tn Aa osecas ra ieee Mie rem Ree e 28,63 
Jenn Products a detasare dona cone cghatehsRoesaqnashtaeathacuaiel 101 
WR SSPE ke EEIE, -E tees can Oa cigs VOAN EEE P EE EA AA 70 
KME in Ger art o5incssndoo ic sncdeysensscnscpenvencsdocgnasvossabawncscbons 35 
Kayde Electronic Systems ............c.sssseccscessseesneeseessessseeeeones 23 
King SONATO icici sos ove epodo ce ere sdgebanncgencunsscutennvabentonss 58 
Kopak Creations: Ine. ..,6.0..0.sc..ccccsesssecassncteonosbasecsennsvedeoseces 33 
De Be: CF EMEEDIISES -sissit oeo cagncsetnchaadesiukeapeapvant~tevadstengescnan 117 
Sp FG BSG HE EAA AA icc E ATEA EE E enti AE E ae 
Ba Bias s ca tat soa bs. nose stk iaa aaar apak e paa ees Cover 4 
PPO TNs scan ak A EPE EE EAT A TE A T ET. 92 
IEC | T I RN EA EN AAI E a A 56 
Maples, William...............c.ccdecsssccosesetedentecnsssensesssecsccsnscesanece 70 
Melbourne HOSES 58 5G «22. .ccovadedsssdotetoseese-k Eae Ee P 49 
Memdary/ Mater SiC oi. A sen bhei saoctnens an eeleren tieer ra iesean e 84 
a Gath 25 aes si ak ovens Se sn stdin gnnntdskebdtn pene es lio epe iea dada Vikse Srs S 2 
DH ETOT Lae: A aac ahs WEER AS hog sont chan EAE E 83 
Micro Computers Pig cs-ss-cecsa ieh rno ee ce siess icas aie EEn 64 
Micro Desig COEDS tostaen appensa sn d RN 109 
u T a A T och E hie. EE A E ANR l 
Micro TOO aeaiee estes Mee YS Sen MF eRe Su I ae a 45 
WAU Che ok acdc es than a eh Seen wah aosi aak cans Teao ALIT see aA 71 
VEG oo he's cata iis ne hE Reser errero ia en Shuai ip gate tated aeaa 5 
Mohr & Associates. heene oaran s a haze todas Agemcen Manse 77 
Namal Associates n assess hc cek as scan sacecateinstettecnchelh staat 34, 63 
DN Beas eae canada cape cpp cans E AES ETET, 45 
bite: Sepak: hie eM 72) See a eee abate Senco ere 90 
Nin Trivia Qi isGaen ni ores cases. on lds 0020s oo aes endo ce decasnaeeebccdttees 10 
TN Ler Stack PCa RIP kenna a aese riani 101 
Omni ht | A RRR eS aea aoia eide eene aae i ES 94 
Or bate Softwa te -Erda eeens ki chee sngiecseosnarabeete ye Cover 3 


Orions’s Belt, Enterprises 0.......:....0..cscsscescsssssssencecsceneenaoaess 13 
Oxfordiin odeta E asia ise eisa EN sa era as rE aat Eae UTSA 99 
P A PB Sotware hanen aaen eis e AEE p ASE ATAN 50 
Panda Soktare. ea a a aasi E eda ans di R AAR As 105 
A gael A ANENE I AE cig oh ETE eee P A E RT Ra 83 
PCE SEPTIC o PRIR EE STANO T E AA A ET REASTA 109 
Eersonadi SoftWare- scssi knjodadsecthtccntentucerck SEke SI SERR ESASI SAR 24 
Photo Lab ara ara E e toore a E eR EREE AAAS 58 
Powerplay Systems..............sscscsscssessssssesssacsercesecesssncaennees 93 
PO WEF tiónin -can e eea osoh cobs nn asao Sedp sl Esai cuss RTS} 50 
Professional ElectröhiCS oasis cli; i. ccingieheacesesachanusensasoescdsnusatooos 54 
Research Applications Products ..........ccssscccsesereteereeeeereeeees 57 
Robili: Products 255 iate Saeed ieena sonahecctcdi A SENAERA 55, 93 
Rom Pac Applications ...s.sessersseseesisiseicessssosousssosaeesseeos Cover 2 
Remar ke EEEE RA A T ES E EEL E EATE sy $1 
Michael Rossa ic... uct -adessed bd sesteanestheshsstbcandteasvacqnensegeesbnazene 116 
Risati- Tt. Software keke. 5 sca ae e eA fon ea Aao maswoneatlcaoncuesteia 47 
SOY cates Nase Se oat A AETA EEE OAT KE E E age eee 118 
Sánta FE Industries: as sees vac cd on apn dens bo gaterevdesensptortin sree 45 
Savage Software ......s0s......necsscteonusneraparoastiogteonsenssgbangbae 45, 116 
SErVitrOMOS Aesar seana in re aa veces ha Aea daea AAE Vena 107 
SinGla ie, PIA CG cc jsgncesi-caceces io aae apap istako doir As ESA bas ons 75 
Sin Wate oy eich cca ci E E E E E EE E E AAS 42 
TTN WATE AEA EREET E A E RS N PAE E OE E 33 
Small Systems Software ......ssesesessecovesectesoocsssceseeseesososnseosese 93 
ETE TRE L: E ANE AE S RISA EA ATT TA ATA 47 
Softsyne In. o.......p..sccccccnsscasssonssccsonesebsesboccasseveonaccssuacsnsageoe 18 
The Software Farm.. coania stikih ses sakcensdescpa deb EATS 94 
Southern Computer Systems i..is.s.sesse eseesisacesecsarssansitnon seg 37 
Space Braker i.2.5..50...ccavecscassescocdsiossanvacsocesdannas nes Sonecenseeesg 54 
Strategem Cybernetics..............ccsccsssecssessesersesercesentecsesers 113 
SyNchronize ...0...5c.ccsseccesesestsesnsecsnvetsssessenssenvenessuonosassasonesaesee 17 
SyNCwares cdi isccesscsontinsessnensesuocacasescespetaonavesses) ssn aiaa aigoa EAN 22 
Synergistic Desigt..............s.ccccscssrssscesseessccsscseessossonssesssvenss 9 
Gig TA. Cpe me Seg dpm ek EUR EN A A A ee, Fe Cae ery ae eee ee 89 
Time Data nAaR He See ase oer ISSA 77 
Time Works: [nesae clon cecncansdeastesaceetasdtes E aaa debt EASTA 108 
Troiano: Softwares urere esee ei a toas kae Na oaeo ii a aa 45 
Turner) Eley and Com. :..c..caes....ciisscovasscosvectsrseapsscssonesdaanons 76 
Ventamatic Micro-Informatica .............ccccccsssssssseseeeeeneeeeees 84 
UPpSyStems P T T E E ATE E, 66 
Chris White caine tee TiS ren case eee itera so 35 
Woods, -Thomas iza Aiia aa tacts ae 116 
ETT TE E E R E E E E SE A NT 78 
Wr Ke I AEREE T Seda E E events Seas E E 86 
ZL E s S EI E E E E EE T L AE 92 
Zebra X-raåy SONWALE si is. 050) ons aden caise arona SEE aae E a7 
POOR. dacs RAEN EEE E A DE R AE ARSA E R A 16 
Zopf. Pndustries anaes asee Ioe a DAEA SE R aE aAA 50 
Lor Khan-Industries oo S Auh oree sea e Ae e leei ese 51 
ZASI Programs Ao cs AGN eane AES SATSE NIATE 116 
Zi X Panding Lidse aeiae saien opaa eTa R S Siea pee ieat tenia’ 13 
WESE EAEEREN EAEE IA E E E E EA E EEE E 67 


FOR YOUR 
TIMEX/SINCLAIR 1000 


x y 


Sna 


Welcome to the world of Mega Mind. 
‘ An intense battle of wit and logic that 
challenges the human player to dive deep 
"into his powers of concentration. 
Compete with the Mega Mind across your 
mind's universe to break the secret code. 
Five levels of pla 


(ALSO COMPATIBLE WITH ZX81) 
Written in machine code. 16K. $19.95 


FREE POSTER WITH ORDER 


To place order send $19.95 in check or money order to: 


ORT E 


THE CREATIVE FORCE ™ 


P.O. Box 948, Dept. 5, Waterbury, CT 06720 
Phone: 203-753-6308 


Send for free catalogue for more exciting software. 


ring, 


S 


THE PROWRITER COMETH. 


(And It Cometh On Like Gangbusters./ 


Evolution. 

It's inevitable. An eternal 
verity. 

Just when you think you've 
got it knocked, and you're 
resting on your laurels, some- 
body comes along and makes 
a dinosaur out of you. 

Witness what happened to 
the Centronics printer when 
the Epson MX-80 came along 
in 1981. 

And now, witness what’s 
happening to the MX-80 as 
the ProWriter cometh to be 
the foremost printer of the 
decade. 

SPEED 

MX-80: 80 cps, for 46 full lines 
per minute throughput. 
PROWRITER: 120 cps, for 

63 full lines per minute 
throughput. 

GRAPHICS 

MX-80: Block graphics standard, 
fine for things like bar graphs. 
PROWRITER: High-resolu- 
tion graphics features, fine 
for bar graphs, smooth curves, 
thin lines, intricate details, etc. 
PRINTING 

MX-80: Dot matrix business 
quality. 

PROWRITER: Dot matrix 
correspondence quality, with 
incremental printing capability 
standard. 

FEED 

MX-80: Tractor feed standard; 
optional friction-feed kit for 
about $75 extra. 
PROWRITER: Both tractor 
and friction feed standard. 
INTERFACE 

MX-80: Parallel interface 
standard; optional serial 
interface for about $75 extra. 
PROWRITER: Available stan- 
dard-either parallel interface 
or parallel/serial interface. 


oS WARRANTY 
MX-80: 90 days, from Epson. 
PROWRITER: One full year, 
from Leading Edge. 
PRICE 
Heh, heh. 


Marketed Exclusively by Leading 
Edge Products, Inc., 225 Turnpike 
Street, Canton, Massachusetts 
02021. Call: toll-free 1-800-343-6833: 
or in Massachusetts call collect 
(617) 828-8150. Telex 951-624. 


LEADING 
EDGE. 


For a free poster of “Ace” 
(Prowriter's pilot) doing his thing, 
please write us. 


7 *e *& 8 6 ee